@kombo-api/sdk 0.3.4 → 0.4.1

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 (105) hide show
  1. package/README.md +16 -10
  2. package/esm/funcs/atsCreateApplication.d.ts +2 -0
  3. package/esm/funcs/atsCreateApplication.d.ts.map +1 -1
  4. package/esm/funcs/atsCreateApplication.js +2 -0
  5. package/esm/funcs/atsCreateApplication.js.map +1 -1
  6. package/esm/funcs/generalSendPassthroughRequest.d.ts +12 -2
  7. package/esm/funcs/generalSendPassthroughRequest.d.ts.map +1 -1
  8. package/esm/funcs/generalSendPassthroughRequest.js +12 -2
  9. package/esm/funcs/generalSendPassthroughRequest.js.map +1 -1
  10. package/esm/funcs/generalSetIntegrationEnabled.d.ts +23 -0
  11. package/esm/funcs/generalSetIntegrationEnabled.d.ts.map +1 -0
  12. package/esm/funcs/generalSetIntegrationEnabled.js +94 -0
  13. package/esm/funcs/generalSetIntegrationEnabled.js.map +1 -0
  14. package/esm/lib/config.d.ts +3 -3
  15. package/esm/lib/config.js +3 -3
  16. package/esm/lib/sdks.js +2 -2
  17. package/esm/lib/sdks.js.map +1 -1
  18. package/esm/models/assessmentorderreceivedwebhookpayload.d.ts +1 -1
  19. package/esm/models/datachangedwebhookpayload.d.ts +2 -2
  20. package/esm/models/datachangedwebhookpayload.js +2 -2
  21. package/esm/models/datachangedwebhookpayload.js.map +1 -1
  22. package/esm/models/getassessmentordersopenpositiveresponse.d.ts +1 -1
  23. package/esm/models/getatsinterviewspositiveresponse.d.ts +4 -0
  24. package/esm/models/getatsinterviewspositiveresponse.d.ts.map +1 -1
  25. package/esm/models/getatsinterviewspositiveresponse.js +1 -0
  26. package/esm/models/getatsinterviewspositiveresponse.js.map +1 -1
  27. package/esm/models/index.d.ts +2 -0
  28. package/esm/models/index.d.ts.map +1 -1
  29. package/esm/models/index.js +2 -0
  30. package/esm/models/index.js.map +1 -1
  31. package/esm/models/inlineassessmentorderreceivedwebhookpayload.d.ts +1 -1
  32. package/esm/models/integrationstatechangedwebhookpayload.d.ts +21 -0
  33. package/esm/models/integrationstatechangedwebhookpayload.d.ts.map +1 -1
  34. package/esm/models/integrationstatechangedwebhookpayload.js +15 -0
  35. package/esm/models/integrationstatechangedwebhookpayload.js.map +1 -1
  36. package/esm/models/komboatserror.d.ts +1 -0
  37. package/esm/models/komboatserror.d.ts.map +1 -1
  38. package/esm/models/komboatserror.js +1 -0
  39. package/esm/models/komboatserror.js.map +1 -1
  40. package/esm/models/kombogeneralerror.d.ts +1 -0
  41. package/esm/models/kombogeneralerror.d.ts.map +1 -1
  42. package/esm/models/kombogeneralerror.js +1 -0
  43. package/esm/models/kombogeneralerror.js.map +1 -1
  44. package/esm/models/kombohriserror.d.ts +1 -0
  45. package/esm/models/kombohriserror.d.ts.map +1 -1
  46. package/esm/models/kombohriserror.js +1 -0
  47. package/esm/models/kombohriserror.js.map +1 -1
  48. package/esm/models/operations/index.d.ts +1 -0
  49. package/esm/models/operations/index.d.ts.map +1 -1
  50. package/esm/models/operations/index.js +1 -0
  51. package/esm/models/operations/index.js.map +1 -1
  52. package/esm/models/operations/putintegrationsintegrationidenabled.d.ts +21 -0
  53. package/esm/models/operations/putintegrationsintegrationidenabled.d.ts.map +1 -0
  54. package/esm/models/operations/putintegrationsintegrationidenabled.js +14 -0
  55. package/esm/models/operations/putintegrationsintegrationidenabled.js.map +1 -0
  56. package/esm/models/postconnectcreatelinkrequestbody.d.ts +8 -1
  57. package/esm/models/postconnectcreatelinkrequestbody.d.ts.map +1 -1
  58. package/esm/models/postconnectcreatelinkrequestbody.js +8 -1
  59. package/esm/models/postconnectcreatelinkrequestbody.js.map +1 -1
  60. package/esm/models/posthrisabsencesrequestbody.d.ts +35 -0
  61. package/esm/models/posthrisabsencesrequestbody.d.ts.map +1 -1
  62. package/esm/models/posthrisabsencesrequestbody.js +18 -0
  63. package/esm/models/posthrisabsencesrequestbody.js.map +1 -1
  64. package/esm/models/putintegrationsintegrationidenabledpositiveresponse.d.ts +15 -0
  65. package/esm/models/putintegrationsintegrationidenabledpositiveresponse.d.ts.map +1 -0
  66. package/esm/models/putintegrationsintegrationidenabledpositiveresponse.js +20 -0
  67. package/esm/models/putintegrationsintegrationidenabledpositiveresponse.js.map +1 -0
  68. package/esm/models/putintegrationsintegrationidenabledrequestbody.d.ts +15 -0
  69. package/esm/models/putintegrationsintegrationidenabledrequestbody.d.ts.map +1 -0
  70. package/esm/models/putintegrationsintegrationidenabledrequestbody.js +12 -0
  71. package/esm/models/putintegrationsintegrationidenabledrequestbody.js.map +1 -0
  72. package/esm/sdk/ats.d.ts +2 -0
  73. package/esm/sdk/ats.d.ts.map +1 -1
  74. package/esm/sdk/ats.js +2 -0
  75. package/esm/sdk/ats.js.map +1 -1
  76. package/esm/sdk/general.d.ts +23 -2
  77. package/esm/sdk/general.d.ts.map +1 -1
  78. package/esm/sdk/general.js +26 -2
  79. package/esm/sdk/general.js.map +1 -1
  80. package/examples/package-lock.json +3 -3
  81. package/jsr.json +1 -1
  82. package/package.json +3 -3
  83. package/src/funcs/atsCreateApplication.ts +2 -0
  84. package/src/funcs/generalSendPassthroughRequest.ts +12 -2
  85. package/src/funcs/generalSetIntegrationEnabled.ts +184 -0
  86. package/src/lib/config.ts +3 -3
  87. package/src/lib/sdks.ts +2 -2
  88. package/src/models/assessmentorderreceivedwebhookpayload.ts +1 -1
  89. package/src/models/datachangedwebhookpayload.ts +2 -2
  90. package/src/models/getassessmentordersopenpositiveresponse.ts +1 -1
  91. package/src/models/getatsinterviewspositiveresponse.ts +5 -0
  92. package/src/models/index.ts +2 -0
  93. package/src/models/inlineassessmentorderreceivedwebhookpayload.ts +1 -1
  94. package/src/models/integrationstatechangedwebhookpayload.ts +32 -0
  95. package/src/models/komboatserror.ts +1 -0
  96. package/src/models/kombogeneralerror.ts +1 -0
  97. package/src/models/kombohriserror.ts +1 -0
  98. package/src/models/operations/index.ts +1 -0
  99. package/src/models/operations/putintegrationsintegrationidenabled.ts +45 -0
  100. package/src/models/postconnectcreatelinkrequestbody.ts +8 -1
  101. package/src/models/posthrisabsencesrequestbody.ts +52 -0
  102. package/src/models/putintegrationsintegrationidenabledpositiveresponse.ts +67 -0
  103. package/src/models/putintegrationsintegrationidenabledrequestbody.ts +38 -0
  104. package/src/sdk/ats.ts +2 -0
  105. package/src/sdk/general.ts +34 -2
@@ -67,6 +67,21 @@ export const QaStatus = {
67
67
  */
68
68
  export type QaStatus = ClosedEnum<typeof QaStatus>;
69
69
 
70
+ /**
71
+ * The current status of an integration that has filtering, field mapping features or required setup steps.
72
+ */
73
+ export const IntegrationStateChangedWebhookPayloadSetupStatus = {
74
+ Incomplete: "INCOMPLETE",
75
+ FinalSyncPending: "FINAL_SYNC_PENDING",
76
+ Completed: "COMPLETED",
77
+ } as const;
78
+ /**
79
+ * The current status of an integration that has filtering, field mapping features or required setup steps.
80
+ */
81
+ export type IntegrationStateChangedWebhookPayloadSetupStatus = ClosedEnum<
82
+ typeof IntegrationStateChangedWebhookPayloadSetupStatus
83
+ >;
84
+
70
85
  /**
71
86
  * The current state of the integration.
72
87
  */
@@ -102,6 +117,10 @@ export type IntegrationStateChangedWebhookPayloadData = {
102
117
  * The quality assurance status of the integration.
103
118
  */
104
119
  qa_status: QaStatus;
120
+ /**
121
+ * The current status of an integration that has filtering, field mapping features or required setup steps.
122
+ */
123
+ setup_status: IntegrationStateChangedWebhookPayloadSetupStatus;
105
124
  /**
106
125
  * The current state of the integration.
107
126
  */
@@ -207,6 +226,15 @@ export const QaStatus$inboundSchema: z.ZodNativeEnum<typeof QaStatus> = z
207
226
  export const QaStatus$outboundSchema: z.ZodNativeEnum<typeof QaStatus> =
208
227
  QaStatus$inboundSchema;
209
228
 
229
+ /** @internal */
230
+ export const IntegrationStateChangedWebhookPayloadSetupStatus$inboundSchema:
231
+ z.ZodNativeEnum<typeof IntegrationStateChangedWebhookPayloadSetupStatus> = z
232
+ .nativeEnum(IntegrationStateChangedWebhookPayloadSetupStatus);
233
+ /** @internal */
234
+ export const IntegrationStateChangedWebhookPayloadSetupStatus$outboundSchema:
235
+ z.ZodNativeEnum<typeof IntegrationStateChangedWebhookPayloadSetupStatus> =
236
+ IntegrationStateChangedWebhookPayloadSetupStatus$inboundSchema;
237
+
210
238
  /** @internal */
211
239
  export const State$inboundSchema: z.ZodNativeEnum<typeof State> = z.nativeEnum(
212
240
  State,
@@ -229,6 +257,7 @@ export const IntegrationStateChangedWebhookPayloadData$inboundSchema: z.ZodType<
229
257
  IntegrationStateChangedWebhookPayloadEndUser$inboundSchema
230
258
  ),
231
259
  qa_status: QaStatus$inboundSchema,
260
+ setup_status: IntegrationStateChangedWebhookPayloadSetupStatus$inboundSchema,
232
261
  state: State$inboundSchema,
233
262
  updated_at: z.string().datetime({ offset: true }).transform(v => new Date(v)),
234
263
  });
@@ -239,6 +268,7 @@ export type IntegrationStateChangedWebhookPayloadData$Outbound = {
239
268
  integration_category: string;
240
269
  end_user: IntegrationStateChangedWebhookPayloadEndUser$Outbound;
241
270
  qa_status: string;
271
+ setup_status: string;
242
272
  state: string;
243
273
  updated_at: string;
244
274
  };
@@ -258,6 +288,8 @@ export const IntegrationStateChangedWebhookPayloadData$outboundSchema:
258
288
  IntegrationStateChangedWebhookPayloadEndUser$outboundSchema
259
289
  ),
260
290
  qa_status: QaStatus$outboundSchema,
291
+ setup_status:
292
+ IntegrationStateChangedWebhookPayloadSetupStatus$outboundSchema,
261
293
  state: State$outboundSchema,
262
294
  updated_at: z.date().transform(v => v.toISOString()),
263
295
  });
@@ -23,6 +23,7 @@ export const KomboAtsErrorCode = {
23
23
  PlatformUnknownError: "PLATFORM.UNKNOWN_ERROR",
24
24
  PlatformIpNotWhitelisted: "PLATFORM.IP_NOT_WHITELISTED",
25
25
  PlatformAuthenticationInvalid: "PLATFORM.AUTHENTICATION_INVALID",
26
+ PlatformTaskTimedOut: "PLATFORM.TASK_TIMED_OUT",
26
27
  IntegrationPermissionMissing: "INTEGRATION.PERMISSION_MISSING",
27
28
  IntegrationAuthenticationInvalid: "INTEGRATION.AUTHENTICATION_INVALID",
28
29
  IntegrationQaFailed: "INTEGRATION.QA_FAILED",
@@ -25,6 +25,7 @@ export const KomboGeneralErrorCode = {
25
25
  PlatformUnknownError: "PLATFORM.UNKNOWN_ERROR",
26
26
  PlatformIpNotWhitelisted: "PLATFORM.IP_NOT_WHITELISTED",
27
27
  PlatformAuthenticationInvalid: "PLATFORM.AUTHENTICATION_INVALID",
28
+ PlatformTaskTimedOut: "PLATFORM.TASK_TIMED_OUT",
28
29
  } as const;
29
30
  /**
30
31
  * Some errors include an error code that can be used to identify their cause. See the [Error Handling Docs](https://docs.kombo.dev/guides/errors) for more information. For your error handling logic please use the error `code` instead of other properties (e.g. message, http status code, ...).
@@ -23,6 +23,7 @@ export const KomboHrisErrorCode = {
23
23
  PlatformUnknownError: "PLATFORM.UNKNOWN_ERROR",
24
24
  PlatformIpNotWhitelisted: "PLATFORM.IP_NOT_WHITELISTED",
25
25
  PlatformAuthenticationInvalid: "PLATFORM.AUTHENTICATION_INVALID",
26
+ PlatformTaskTimedOut: "PLATFORM.TASK_TIMED_OUT",
26
27
  IntegrationPermissionMissing: "INTEGRATION.PERMISSION_MISSING",
27
28
  IntegrationAuthenticationInvalid: "INTEGRATION.AUTHENTICATION_INVALID",
28
29
  IntegrationQaFailed: "INTEGRATION.QA_FAILED",
@@ -57,3 +57,4 @@ export * from "./putassessmentordersassessmentorderidresult.js";
57
57
  export * from "./putassessmentpackages.js";
58
58
  export * from "./putatsapplicationsapplicationidstage.js";
59
59
  export * from "./putintegrationsintegrationidcustomfieldscustomfieldid.js";
60
+ export * from "./putintegrationsintegrationidenabled.js";
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import * as models from "../index.js";
7
+
8
+ export type PutIntegrationsIntegrationIdEnabledRequest = {
9
+ /**
10
+ * PUT /integrations/:integration_id/enabled Parameter
11
+ */
12
+ integration_id: string;
13
+ /**
14
+ * PUT /integrations/:integration_id/enabled Request body
15
+ */
16
+ body: models.PutIntegrationsIntegrationIdEnabledRequestBody;
17
+ };
18
+
19
+ /** @internal */
20
+ export type PutIntegrationsIntegrationIdEnabledRequest$Outbound = {
21
+ integration_id: string;
22
+ body: models.PutIntegrationsIntegrationIdEnabledRequestBody$Outbound;
23
+ };
24
+
25
+ /** @internal */
26
+ export const PutIntegrationsIntegrationIdEnabledRequest$outboundSchema:
27
+ z.ZodType<
28
+ PutIntegrationsIntegrationIdEnabledRequest$Outbound,
29
+ z.ZodTypeDef,
30
+ PutIntegrationsIntegrationIdEnabledRequest
31
+ > = z.object({
32
+ integration_id: z.string(),
33
+ body: models.PutIntegrationsIntegrationIdEnabledRequestBody$outboundSchema,
34
+ });
35
+
36
+ export function putIntegrationsIntegrationIdEnabledRequestToJSON(
37
+ putIntegrationsIntegrationIdEnabledRequest:
38
+ PutIntegrationsIntegrationIdEnabledRequest,
39
+ ): string {
40
+ return JSON.stringify(
41
+ PutIntegrationsIntegrationIdEnabledRequest$outboundSchema.parse(
42
+ putIntegrationsIntegrationIdEnabledRequest,
43
+ ),
44
+ );
45
+ }
@@ -103,6 +103,7 @@ export const IntegrationTool = {
103
103
  Hr4you: "hr4you",
104
104
  Cornerstoneondemand: "cornerstoneondemand",
105
105
  Zvooverecruit: "zvooverecruit",
106
+ Odoo: "odoo",
106
107
  Comeet: "comeet",
107
108
  Compleet: "compleet",
108
109
  Compleetpitcher: "compleetpitcher",
@@ -117,11 +118,14 @@ export const IntegrationTool = {
117
118
  Asymbl: "asymbl",
118
119
  Breezyhr: "breezyhr",
119
120
  Flatchr: "flatchr",
121
+ Dayforce: "dayforce",
120
122
  Applicantstack: "applicantstack",
121
123
  Reachmee: "reachmee",
122
124
  Talentadore: "talentadore",
123
125
  Sandbox: "sandbox",
124
126
  Guidecom: "guidecom",
127
+ Spott: "spott",
128
+ Loxo: "loxo",
125
129
  Workdaycustomreport: "workdaycustomreport",
126
130
  Workdaycustomreportsftp: "workdaycustomreportsftp",
127
131
  Payfitcustomer: "payfitcustomer",
@@ -158,9 +162,9 @@ export const IntegrationTool = {
158
162
  Simployer: "simployer",
159
163
  Peple: "peple",
160
164
  Youserve: "youserve",
161
- Dayforce: "dayforce",
162
165
  Hansalog: "hansalog",
163
166
  Lattice: "lattice",
167
+ Latticetalent: "latticetalent",
164
168
  Hoorayhr: "hoorayhr",
165
169
  Trinet: "trinet",
166
170
  Namely: "namely",
@@ -198,6 +202,9 @@ export const IntegrationTool = {
198
202
  Peoplexd: "peoplexd",
199
203
  Sftp: "sftp",
200
204
  Sftpfetch: "sftpfetch",
205
+ ThreeHundredAndSixtylearning: "360learning",
206
+ Udemy: "udemy",
207
+ Linkedinlearning: "linkedinlearning",
201
208
  } as const;
202
209
  /**
203
210
  * Pre-define a tool this integration link can be used for.
@@ -33,6 +33,29 @@ export type PostHrisAbsencesRequestBodyUnit = ClosedEnum<
33
33
  typeof PostHrisAbsencesRequestBodyUnit
34
34
  >;
35
35
 
36
+ /**
37
+ * Required for illness absences. Benefit type: Delegated Payment, No Right to Benefit, or Direct payment.
38
+ */
39
+ export const BenefitTypeId = {
40
+ DelegatedPayment: "Delegated Payment",
41
+ NoRightToBenefit: "No Right to Benefit",
42
+ DirectPayment: "Direct payment",
43
+ } as const;
44
+ /**
45
+ * Required for illness absences. Benefit type: Delegated Payment, No Right to Benefit, or Direct payment.
46
+ */
47
+ export type BenefitTypeId = ClosedEnum<typeof BenefitTypeId>;
48
+
49
+ /**
50
+ * Fields specific to A3 Innuva Nómina.
51
+ */
52
+ export type A3innuvanomina = {
53
+ /**
54
+ * Required for illness absences. Benefit type: Delegated Payment, No Right to Benefit, or Direct payment.
55
+ */
56
+ benefit_type_id?: BenefitTypeId | undefined;
57
+ };
58
+
36
59
  /**
37
60
  * Fields specific to ADP Workforce Now.
38
61
  */
@@ -51,6 +74,10 @@ export type PostHrisAbsencesRequestBodyAdpworkforcenow = {
51
74
  * Additional fields that we will pass through to specific HRIS systems.
52
75
  */
53
76
  export type PostHrisAbsencesRequestBodyRemoteFields = {
77
+ /**
78
+ * Fields specific to A3 Innuva Nómina.
79
+ */
80
+ a3innuvanomina?: A3innuvanomina | undefined;
54
81
  /**
55
82
  * Fields specific to ADP Workforce Now.
56
83
  */
@@ -122,6 +149,29 @@ export const PostHrisAbsencesRequestBodyUnit$outboundSchema: z.ZodNativeEnum<
122
149
  typeof PostHrisAbsencesRequestBodyUnit
123
150
  > = z.nativeEnum(PostHrisAbsencesRequestBodyUnit);
124
151
 
152
+ /** @internal */
153
+ export const BenefitTypeId$outboundSchema: z.ZodNativeEnum<
154
+ typeof BenefitTypeId
155
+ > = z.nativeEnum(BenefitTypeId);
156
+
157
+ /** @internal */
158
+ export type A3innuvanomina$Outbound = {
159
+ benefit_type_id?: string | undefined;
160
+ };
161
+
162
+ /** @internal */
163
+ export const A3innuvanomina$outboundSchema: z.ZodType<
164
+ A3innuvanomina$Outbound,
165
+ z.ZodTypeDef,
166
+ A3innuvanomina
167
+ > = z.object({
168
+ benefit_type_id: BenefitTypeId$outboundSchema.optional(),
169
+ });
170
+
171
+ export function a3innuvanominaToJSON(a3innuvanomina: A3innuvanomina): string {
172
+ return JSON.stringify(A3innuvanomina$outboundSchema.parse(a3innuvanomina));
173
+ }
174
+
125
175
  /** @internal */
126
176
  export type PostHrisAbsencesRequestBodyAdpworkforcenow$Outbound = {
127
177
  employment_id?: string | undefined;
@@ -152,6 +202,7 @@ export function postHrisAbsencesRequestBodyAdpworkforcenowToJSON(
152
202
 
153
203
  /** @internal */
154
204
  export type PostHrisAbsencesRequestBodyRemoteFields$Outbound = {
205
+ a3innuvanomina?: A3innuvanomina$Outbound | undefined;
155
206
  adpworkforcenow?:
156
207
  | PostHrisAbsencesRequestBodyAdpworkforcenow$Outbound
157
208
  | undefined;
@@ -163,6 +214,7 @@ export const PostHrisAbsencesRequestBodyRemoteFields$outboundSchema: z.ZodType<
163
214
  z.ZodTypeDef,
164
215
  PostHrisAbsencesRequestBodyRemoteFields
165
216
  > = z.object({
217
+ a3innuvanomina: z.lazy(() => A3innuvanomina$outboundSchema).optional(),
166
218
  adpworkforcenow: z.lazy(() =>
167
219
  PostHrisAbsencesRequestBodyAdpworkforcenow$outboundSchema
168
220
  ).optional(),
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../types/fp.js";
8
+ import { SDKValidationError } from "./errors/sdkvalidationerror.js";
9
+
10
+ export type PutIntegrationsIntegrationIdEnabledPositiveResponseData = {};
11
+
12
+ export type PutIntegrationsIntegrationIdEnabledPositiveResponse = {
13
+ status: "success";
14
+ data: PutIntegrationsIntegrationIdEnabledPositiveResponseData;
15
+ };
16
+
17
+ /** @internal */
18
+ export const PutIntegrationsIntegrationIdEnabledPositiveResponseData$inboundSchema:
19
+ z.ZodType<
20
+ PutIntegrationsIntegrationIdEnabledPositiveResponseData,
21
+ z.ZodTypeDef,
22
+ unknown
23
+ > = z.object({});
24
+
25
+ export function putIntegrationsIntegrationIdEnabledPositiveResponseDataFromJSON(
26
+ jsonString: string,
27
+ ): SafeParseResult<
28
+ PutIntegrationsIntegrationIdEnabledPositiveResponseData,
29
+ SDKValidationError
30
+ > {
31
+ return safeParse(
32
+ jsonString,
33
+ (x) =>
34
+ PutIntegrationsIntegrationIdEnabledPositiveResponseData$inboundSchema
35
+ .parse(JSON.parse(x)),
36
+ `Failed to parse 'PutIntegrationsIntegrationIdEnabledPositiveResponseData' from JSON`,
37
+ );
38
+ }
39
+
40
+ /** @internal */
41
+ export const PutIntegrationsIntegrationIdEnabledPositiveResponse$inboundSchema:
42
+ z.ZodType<
43
+ PutIntegrationsIntegrationIdEnabledPositiveResponse,
44
+ z.ZodTypeDef,
45
+ unknown
46
+ > = z.object({
47
+ status: z.literal("success"),
48
+ data: z.lazy(() =>
49
+ PutIntegrationsIntegrationIdEnabledPositiveResponseData$inboundSchema
50
+ ),
51
+ });
52
+
53
+ export function putIntegrationsIntegrationIdEnabledPositiveResponseFromJSON(
54
+ jsonString: string,
55
+ ): SafeParseResult<
56
+ PutIntegrationsIntegrationIdEnabledPositiveResponse,
57
+ SDKValidationError
58
+ > {
59
+ return safeParse(
60
+ jsonString,
61
+ (x) =>
62
+ PutIntegrationsIntegrationIdEnabledPositiveResponse$inboundSchema.parse(
63
+ JSON.parse(x),
64
+ ),
65
+ `Failed to parse 'PutIntegrationsIntegrationIdEnabledPositiveResponse' from JSON`,
66
+ );
67
+ }
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+
7
+ export type PutIntegrationsIntegrationIdEnabledRequestBody = {
8
+ /**
9
+ * The desired state of the integration (e.g., `true` for enabled, `false` for disabled).
10
+ */
11
+ value: boolean;
12
+ };
13
+
14
+ /** @internal */
15
+ export type PutIntegrationsIntegrationIdEnabledRequestBody$Outbound = {
16
+ value: boolean;
17
+ };
18
+
19
+ /** @internal */
20
+ export const PutIntegrationsIntegrationIdEnabledRequestBody$outboundSchema:
21
+ z.ZodType<
22
+ PutIntegrationsIntegrationIdEnabledRequestBody$Outbound,
23
+ z.ZodTypeDef,
24
+ PutIntegrationsIntegrationIdEnabledRequestBody
25
+ > = z.object({
26
+ value: z.boolean(),
27
+ });
28
+
29
+ export function putIntegrationsIntegrationIdEnabledRequestBodyToJSON(
30
+ putIntegrationsIntegrationIdEnabledRequestBody:
31
+ PutIntegrationsIntegrationIdEnabledRequestBody,
32
+ ): string {
33
+ return JSON.stringify(
34
+ PutIntegrationsIntegrationIdEnabledRequestBody$outboundSchema.parse(
35
+ putIntegrationsIntegrationIdEnabledRequestBody,
36
+ ),
37
+ );
38
+ }
package/src/sdk/ats.ts CHANGED
@@ -675,6 +675,8 @@ export class Ats extends ClientSDK {
675
675
  * "availability_date": "2021-01-01",
676
676
  * "location": {
677
677
  * "city": "New York",
678
+ * "zip_code": "10016",
679
+ * "state": "NY",
678
680
  * "country": "US"
679
681
  * }
680
682
  * },
@@ -10,6 +10,7 @@ import { generalGetIntegrationDetails } from "../funcs/generalGetIntegrationDeta
10
10
  import { generalGetIntegrationFields } from "../funcs/generalGetIntegrationFields.js";
11
11
  import { generalGetTools } from "../funcs/generalGetTools.js";
12
12
  import { generalSendPassthroughRequest } from "../funcs/generalSendPassthroughRequest.js";
13
+ import { generalSetIntegrationEnabled } from "../funcs/generalSetIntegrationEnabled.js";
13
14
  import { generalTriggerSync } from "../funcs/generalTriggerSync.js";
14
15
  import { generalUpdateCustomFieldMapping } from "../funcs/generalUpdateCustomFieldMapping.js";
15
16
  import { generalUpdateIntegrationField } from "../funcs/generalUpdateIntegrationField.js";
@@ -68,6 +69,7 @@ export class General extends ClientSDK {
68
69
  *
69
70
  * |Integration|`{tool}/{api}`|Description|
70
71
  * |---|---|---|
72
+ * |360Learning|`360learning/v2`|360Learning [API v2](https://360learning.readme.io/docs). We automatically handle authentication and use `https://app.360learning.com/api/v2/` as the base URL.|
71
73
  * |a3innuva Nómina|`a3innuvanomina/laboral`|a3innuva Nómina API [docs](https://a3developers.wolterskluwer.es/). Requests are automatically authenticated using OAuth access tokens (refreshed when needed). Base URL: `https://a3api.wolterskluwer.es/Laboral/api`.|
72
74
  * |Abacus Umantis|`abacusumantis/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.|
73
75
  * |Abacus|`abacus/api`|Abacus [REST API](https://apihub.abacus.ch/). We automatically authenticate all requests and use `https://\{\{abacusUrl\}\}/api/entity/v1/mandants/\{\{mandantId\}\}` as the base URL.|
@@ -78,7 +80,7 @@ export class General extends ClientSDK {
78
80
  * |ApplicantStack|`applicantstack/api`|ApplicantStack's [API](https://helpas.payrollservers.info/s/article/API-Integration-Guide). We automatically authenticate all requests and use `https://\{subdomain\}.applicantstack.com/api/` as the base URL.|
79
81
  * |Apploi|`apploi/rest-api`|The [Apploi API](https://integrate.apploi.com/). We automatically authenticate all requests and use `https://partners.apploi.com/` as the base URL.|
80
82
  * |Ashby|`ashby/v1`|Ashby's [V1 API](https://developers.ashbyhq.com/reference/introduction). We automatically authenticate all requests with the provided credentials and use `https://api.ashbyhq.com` as the base URL. Please note that Ashby uses an RPC-style API. Please check [the Ashby API documentation](https://developers.ashbyhq.com/reference/introduction) for details on how to use it.|
81
- * |Asymbl|`asymbl/v63`|We use `https://\{customerDomainName\}` as the base URL. Find the official docs [here](https://asymblinc.github.io/ats/ats.html).|
83
+ * |Asymbl|`asymbl/v63`|We use `https://\{subdomain\}.my.salesforce.com` as the base URL. Find the official docs [here](https://asymblinc.github.io/ats/ats.html).|
82
84
  * |Avature|`avature/custom-api`|Avatures's Custom API. Call `Get /openapi` to retrieve the specific custom API schema. We automatically authenticate all requests and use the instance specific custom API URL as the base URL.|
83
85
  * |Avionté|`avionte/front-office-v1`|Avionte's API. We automatically authenticate all requests and use `https://api.avionte.com/front-office/v1` as the base URL. Documentation for the BOLD Front Office API: https://developer.avionte.com/reference/get-all-talent-tags|
84
86
  * |BambooHR|`bamboohr/v1`|BambooHR's [API](https://documentation.bamboohr.com/reference/get-employee). We automatically authenticate all requests using the customer credentials `https://api.bamboohr.com/api/gateway.php/\{subdomain\}/v1` as the base URL.|
@@ -86,6 +88,7 @@ export class General extends ClientSDK {
86
88
  * |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.|
87
89
  * |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.|
88
90
  * |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.|
91
+ * |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.|
89
92
  * |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.|
90
93
  * |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.|
91
94
  * |Ceipal|`ceipal/v1`|We use `https://api.ceipal.com/v1` as the base URL. Find the official docs [here](https://developer.ceipal.com/ceipal-ats-version-one/ceipal-ats-v1-api-reference).|
@@ -121,7 +124,8 @@ export class General extends ClientSDK {
121
124
  * |Google Workspace|`googleworkspace/admin`|[Googles's API](https://developers.google.com/admin-sdk/directory/reference/rest). We automatically authenticate all requests and use 'https://admin.googleapis.com' as the base URL.|
122
125
  * |Google Workspace|`googleworkspace/people`|[Googles's API](https://developers.google.com/people/api/rest). We automatically authenticate all requests and use 'https://people.googleapis.com' as the base URL.|
123
126
  * |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.|
124
- * |Greenhouse|`greenhouse/harvest`|Greenhouse [Harvest API](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.|
127
+ * |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.|
128
+ * |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.|
125
129
  * |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.|
126
130
  * |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.|
127
131
  * |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.|
@@ -141,16 +145,20 @@ export class General extends ClientSDK {
141
145
  * |JazzHR|`jazzhr/v1`|[JazzHR's v1 API](https://www.resumatorapi.com/v1/#!`).We automatically authenticate all requests and use "https://api.resumatorapi.com/v1/" as the base URL.|
142
146
  * |JobDiva|`jobdiva/api`|We automatically authenticate all requests and use `https://api.jobdiva.com` as the base URL.|
143
147
  * |Jobvite|`jobvite/api`|We automatically authenticate all requests and use 'https://api.jobvite.com/api/v2' as the base URL.|
148
+ * |Jobvite|`jobvite/v2`|We use `https://api.jobvite.com/api/v2` as the base URL. Find the official docs [here](https://help.jobvite.com/hc/en-us/articles/8870636608925-Jobvite-API).|
144
149
  * |Jobylon|`jobylon/feed`|The [Jobylon Feed API](https://developer.jobylon.com/feed-api/). We automatically authenticate all requests and use `https://\{subdomain\}.jobylon.com/feeds/\{job_hash\}` as the base URL.|
145
150
  * |Jobylon|`jobylon/push`|The [Jobylon Push API](https://developer.jobylon.com/push-api-and-webhooks/). We automatically authenticate all requests and use `https://\{subdomain\}.jobylon.com/p1` as the base URL.|
146
151
  * |JOIN|`join/v2`|Join's [V2 API](https://docs.join.com/reference/getting-started). We automatically authenticate all requests and use `https://api.join.com/v2` as the base URL.|
147
152
  * |Kenjo|`kenjo/api`|Kenjo's [API](https://kenjo.readme.io/reference/generate-the-api-key). We automatically authenticate all requests using the API key and use `https://api.kenjo.io/` as the base URL.|
153
+ * |Lattice Talent|`latticetalent/talent`|Lattice's [Talent API](https://developers.lattice.com/reference/introduction). We automatically authenticate all requests using API key credentials with `https://api.latticehq.com` as the base URL.|
148
154
  * |Lattice|`lattice/passthrough`|Lattice's [API](https://developers.lattice.com/v2/docs/base-url-1). We automatically authenticate all requests using OAuth credentials with `https://api.latticehq.com` as the base URL.|
149
155
  * |Lattice|`lattice/talent`|Lattice's [Talent API](https://developers.lattice.com/docs/introduction-1). We automatically authenticate all requests using OAuth credentials with `https://api.latticehq.com` as the base URL.|
150
156
  * |Laura|`laura/api`|We automatically authenticate all requests and use `https://\{subdomain\}.rekrytointi.com/api/v1.2` as the base URL.|
151
157
  * |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.|
152
158
  * |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.|
153
159
  * |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).|
160
+ * |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.|
161
+ * |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.|
154
162
  * |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.|
155
163
  * |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.|
156
164
  * |Manatal|`manatal/open-api-v3`|[Manatal's Open API v3](https://developers.manatal.com/reference/getting-started). We automatically authenticate all requests and use `https://api.manatal.com/open/v3` as the base URL.|
@@ -159,6 +167,7 @@ export class General extends ClientSDK {
159
167
  * |Microsoft Entra ID|`entraid/v1`|[AzureAD's API](https://learn.microsoft.com/en-us/graph/api/resources/identity-network-access-overview?view=graph-rest-1.0). We automatically authenticate all requests.|
160
168
  * |Mysolution|`mysolution/default`|[Mysolution's API](https://swagger.mysolution.nl/). We automatically authenticate all requests and use the customer's domain as base URL.|
161
169
  * |Nmbrs|`nmbrs/soap`|[Nmbrs SOAP API](https://api.nmbrs.nl/soap/v3/). We automatically authenticate all requests and use `https://api.nmbrs.nl/soap/v3/` as the base URL. Set `data` to your raw XML string (the content that will be placed inside the `\<soap:Body\>` tag). Use `/` as your `path`, as we will always send requests to `https://api.nmbrs.nl/soap/v3/\{service_name\}.asmx`. 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. Available services include `EmployeeService` and `CompanyService`.|
170
+ * |Odoo|`odoo/json2`|Odoo's [JSON-2 API](https://www.odoo.com/documentation/19.0/developer/reference/external_api.html). We automatically authenticate all requests and use `https://\{domain\}.odoo.com/json/2` as the base URL. Odoo JSON-2 requests are always `POST` requests and use paths like `/\{model\}/\{method\}` (e.g. `/res.partner/search_read`).|
162
171
  * |Okta|`okta/v1`|[Okta's API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApiServiceIntegrations/). We automatically authenticate all request ans use 'https://\<your-okta-domain\>/api/v1' as the base URL.|
163
172
  * |Onlyfy|`onlyfy/v1`|Onlyfy's [Public v1 REST API](https://onlyfy.io/doc/v1#section/Introduction). We automatically authenticate all requests using the `apikey` header and use `https://api.prescreenapp.io/v1` as the base URL.|
164
173
  * |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.|
@@ -200,6 +209,7 @@ export class General extends ClientSDK {
200
209
  * |Softgarden|`softgarden/apply-api`|[Softgarden's Apply API](https://dev.softgarden.de/apply-api/). We automatically authenticate all requests and use 'https://jobdb.softgarden.de/jobdb/public' as base URL.|
201
210
  * |Softgarden|`softgarden/frontend-v3`|[Softgarden's Frontend API v3](https://dev.softgarden.de/frontend-v3/. We automatically authenticate all requests and use 'https://api.softgarden.io/api/rest' as base URL.|
202
211
  * |Spark Hire Recruit|`comeet/api`|[Spark Hire Recruit's API.](https://developers.comeet.com/reference/recruiting-api-overview)We automatically authenticate all requests and use `https://api.comeet.com` as the base URL.|
212
+ * |Spott|`spott/protected`|The [Spott API](https://docs.gospott.com). We automatically authenticate all requests and use `https://api.gospott.com` as the base URL.|
203
213
  * |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.|
204
214
  * |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.|
205
215
  * |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.|
@@ -207,6 +217,7 @@ export class General extends ClientSDK {
207
217
  * |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.|
208
218
  * |Teamtailor|`teamtailor/v1`|We use `https://api.teamtailor.com/v1` as the base URL. Find the official docs [here](https://docs.teamtailor.com/).|
209
219
  * |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`.|
220
+ * |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.|
210
221
  * |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.|
211
222
  * |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.|
212
223
  * |UKG Ready|`ukgready/api`|UKG Ready [API](https://secure.saashr.com/ta/docs/rest/public/). We automatically authenticate all requests using the provided credentials and use `https://\{api_domain\}` as the base URL.|
@@ -270,6 +281,27 @@ export class General extends ClientSDK {
270
281
  ));
271
282
  }
272
283
 
284
+ /**
285
+ * Set integration enabled
286
+ *
287
+ * @remarks
288
+ * Enable or disable the specified integration. When disabling, all currently running syncs will be cancelled.
289
+ *
290
+ * All authentication credentials and configuration are preserved. Syncs can be resumed by re-enabling the integration.
291
+ *
292
+ * You may use this to, for example, pause syncing for customers that are temporarily not using the integration.
293
+ */
294
+ async setIntegrationEnabled(
295
+ request: operations.PutIntegrationsIntegrationIdEnabledRequest,
296
+ options?: RequestOptions,
297
+ ): Promise<models.PutIntegrationsIntegrationIdEnabledPositiveResponse> {
298
+ return unwrapAsync(generalSetIntegrationEnabled(
299
+ this,
300
+ request,
301
+ options,
302
+ ));
303
+ }
304
+
273
305
  /**
274
306
  * Create reconnection link
275
307
  *