@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
@@ -9,6 +9,7 @@ import { generalGetIntegrationDetails } from "../funcs/generalGetIntegrationDeta
9
9
  import { generalGetIntegrationFields } from "../funcs/generalGetIntegrationFields.js";
10
10
  import { generalGetTools } from "../funcs/generalGetTools.js";
11
11
  import { generalSendPassthroughRequest } from "../funcs/generalSendPassthroughRequest.js";
12
+ import { generalSetIntegrationEnabled } from "../funcs/generalSetIntegrationEnabled.js";
12
13
  import { generalTriggerSync } from "../funcs/generalTriggerSync.js";
13
14
  import { generalUpdateCustomFieldMapping } from "../funcs/generalUpdateCustomFieldMapping.js";
14
15
  import { generalUpdateIntegrationField } from "../funcs/generalUpdateIntegrationField.js";
@@ -50,6 +51,7 @@ export class General extends ClientSDK {
50
51
  *
51
52
  * |Integration|`{tool}/{api}`|Description|
52
53
  * |---|---|---|
54
+ * |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.|
53
55
  * |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`.|
54
56
  * |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.|
55
57
  * |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.|
@@ -60,7 +62,7 @@ export class General extends ClientSDK {
60
62
  * |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.|
61
63
  * |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.|
62
64
  * |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.|
63
- * |Asymbl|`asymbl/v63`|We use `https://\{customerDomainName\}` as the base URL. Find the official docs [here](https://asymblinc.github.io/ats/ats.html).|
65
+ * |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).|
64
66
  * |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.|
65
67
  * |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|
66
68
  * |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.|
@@ -68,6 +70,7 @@ export class General extends ClientSDK {
68
70
  * |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.|
69
71
  * |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.|
70
72
  * |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.|
73
+ * |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.|
71
74
  * |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.|
72
75
  * |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.|
73
76
  * |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).|
@@ -103,7 +106,8 @@ export class General extends ClientSDK {
103
106
  * |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.|
104
107
  * |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.|
105
108
  * |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.|
106
- * |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.|
109
+ * |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.|
110
+ * |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.|
107
111
  * |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.|
108
112
  * |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.|
109
113
  * |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.|
@@ -123,16 +127,20 @@ export class General extends ClientSDK {
123
127
  * |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.|
124
128
  * |JobDiva|`jobdiva/api`|We automatically authenticate all requests and use `https://api.jobdiva.com` as the base URL.|
125
129
  * |Jobvite|`jobvite/api`|We automatically authenticate all requests and use 'https://api.jobvite.com/api/v2' as the base URL.|
130
+ * |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).|
126
131
  * |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.|
127
132
  * |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.|
128
133
  * |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.|
129
134
  * |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.|
135
+ * |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.|
130
136
  * |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.|
131
137
  * |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.|
132
138
  * |Laura|`laura/api`|We automatically authenticate all requests and use `https://\{subdomain\}.rekrytointi.com/api/v1.2` as the base URL.|
133
139
  * |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.|
134
140
  * |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.|
135
141
  * |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).|
142
+ * |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.|
143
+ * |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.|
136
144
  * |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.|
137
145
  * |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.|
138
146
  * |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.|
@@ -141,6 +149,7 @@ export class General extends ClientSDK {
141
149
  * |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.|
142
150
  * |Mysolution|`mysolution/default`|[Mysolution's API](https://swagger.mysolution.nl/). We automatically authenticate all requests and use the customer's domain as base URL.|
143
151
  * |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`.|
152
+ * |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`).|
144
153
  * |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.|
145
154
  * |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.|
146
155
  * |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.|
@@ -182,6 +191,7 @@ export class General extends ClientSDK {
182
191
  * |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.|
183
192
  * |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.|
184
193
  * |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.|
194
+ * |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.|
185
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.|
186
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.|
187
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.|
@@ -189,6 +199,7 @@ export class General extends ClientSDK {
189
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.|
190
200
  * |Teamtailor|`teamtailor/v1`|We use `https://api.teamtailor.com/v1` as the base URL. Find the official docs [here](https://docs.teamtailor.com/).|
191
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
+ * |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
203
  * |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
204
  * |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.|
194
205
  * |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.|
@@ -228,6 +239,19 @@ export class General extends ClientSDK {
228
239
  async getIntegrationDetails(request, options) {
229
240
  return unwrapAsync(generalGetIntegrationDetails(this, request, options));
230
241
  }
242
+ /**
243
+ * Set integration enabled
244
+ *
245
+ * @remarks
246
+ * Enable or disable the specified integration. When disabling, all currently running syncs will be cancelled.
247
+ *
248
+ * All authentication credentials and configuration are preserved. Syncs can be resumed by re-enabling the integration.
249
+ *
250
+ * You may use this to, for example, pause syncing for customers that are temporarily not using the integration.
251
+ */
252
+ async setIntegrationEnabled(request, options) {
253
+ return unwrapAsync(generalSetIntegrationEnabled(this, request, options));
254
+ }
231
255
  /**
232
256
  * Create reconnection link
233
257
  *
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/sdk/general.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/sdk/general.ts"],"names":[],"mappings":"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"}
@@ -18,14 +18,14 @@
18
18
  },
19
19
  "..": {
20
20
  "name": "@kombo-api/sdk",
21
- "version": "0.3.4",
21
+ "version": "0.4.1",
22
22
  "license": "MIT",
23
23
  "dependencies": {
24
24
  "zod": "^3.25.0 || ^4.0.0"
25
25
  },
26
26
  "devDependencies": {
27
- "@eslint/js": "^9.19.0",
28
- "eslint": "^9.19.0",
27
+ "@eslint/js": "^9.26.0",
28
+ "eslint": "^9.26.0",
29
29
  "globals": "^15.14.0",
30
30
  "nock": "^14.0.0",
31
31
  "typescript": "~5.8.3",
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@kombo-api/sdk",
5
- "version": "0.3.4",
5
+ "version": "0.4.1",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kombo-api/sdk",
3
- "version": "0.3.4",
3
+ "version": "0.4.1",
4
4
  "author": "Kombo Technologies GmbH <support@kombo.dev> (https://www.kombo.dev)",
5
5
  "description": "The official TypeScript/JavaScript SDK for the Kombo Unified API",
6
6
  "homepage": "https://github.com/kombohq/typescript-sdk#readme",
@@ -73,8 +73,8 @@
73
73
 
74
74
  },
75
75
  "devDependencies": {
76
- "@eslint/js": "^9.19.0",
77
- "eslint": "^9.19.0",
76
+ "@eslint/js": "^9.26.0",
77
+ "eslint": "^9.26.0",
78
78
  "globals": "^15.14.0",
79
79
  "nock": "^14.0.0",
80
80
  "typescript": "~5.8.3",
@@ -63,6 +63,8 @@ import { Result } from "../types/fp.js";
63
63
  * "availability_date": "2021-01-01",
64
64
  * "location": {
65
65
  * "city": "New York",
66
+ * "zip_code": "10016",
67
+ * "state": "NY",
66
68
  * "country": "US"
67
69
  * }
68
70
  * },
@@ -40,6 +40,7 @@ import { Result } from "../types/fp.js";
40
40
  *
41
41
  * |Integration|`{tool}/{api}`|Description|
42
42
  * |---|---|---|
43
+ * |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.|
43
44
  * |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`.|
44
45
  * |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.|
45
46
  * |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.|
@@ -50,7 +51,7 @@ import { Result } from "../types/fp.js";
50
51
  * |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.|
51
52
  * |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.|
52
53
  * |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.|
53
- * |Asymbl|`asymbl/v63`|We use `https://\{customerDomainName\}` as the base URL. Find the official docs [here](https://asymblinc.github.io/ats/ats.html).|
54
+ * |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).|
54
55
  * |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.|
55
56
  * |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|
56
57
  * |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.|
@@ -58,6 +59,7 @@ import { Result } from "../types/fp.js";
58
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.|
59
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.|
60
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
+ * |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.|
61
63
  * |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.|
62
64
  * |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.|
63
65
  * |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).|
@@ -93,7 +95,8 @@ import { Result } from "../types/fp.js";
93
95
  * |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.|
94
96
  * |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.|
95
97
  * |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.|
96
- * |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.|
98
+ * |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
+ * |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.|
97
100
  * |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.|
98
101
  * |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.|
99
102
  * |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.|
@@ -113,16 +116,20 @@ import { Result } from "../types/fp.js";
113
116
  * |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.|
114
117
  * |JobDiva|`jobdiva/api`|We automatically authenticate all requests and use `https://api.jobdiva.com` as the base URL.|
115
118
  * |Jobvite|`jobvite/api`|We automatically authenticate all requests and use 'https://api.jobvite.com/api/v2' as the base URL.|
119
+ * |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).|
116
120
  * |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.|
117
121
  * |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.|
118
122
  * |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.|
119
123
  * |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.|
124
+ * |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.|
120
125
  * |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.|
121
126
  * |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.|
122
127
  * |Laura|`laura/api`|We automatically authenticate all requests and use `https://\{subdomain\}.rekrytointi.com/api/v1.2` as the base URL.|
123
128
  * |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.|
124
129
  * |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.|
125
130
  * |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.|
132
+ * |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.|
126
133
  * |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.|
127
134
  * |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.|
128
135
  * |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.|
@@ -131,6 +138,7 @@ import { Result } from "../types/fp.js";
131
138
  * |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.|
132
139
  * |Mysolution|`mysolution/default`|[Mysolution's API](https://swagger.mysolution.nl/). We automatically authenticate all requests and use the customer's domain as base URL.|
133
140
  * |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`.|
141
+ * |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`).|
134
142
  * |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.|
135
143
  * |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.|
136
144
  * |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.|
@@ -172,6 +180,7 @@ import { Result } from "../types/fp.js";
172
180
  * |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.|
173
181
  * |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.|
174
182
  * |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.|
183
+ * |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.|
175
184
  * |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.|
176
185
  * |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.|
177
186
  * |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.|
@@ -179,6 +188,7 @@ import { Result } from "../types/fp.js";
179
188
  * |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.|
180
189
  * |Teamtailor|`teamtailor/v1`|We use `https://api.teamtailor.com/v1` as the base URL. Find the official docs [here](https://docs.teamtailor.com/).|
181
190
  * |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`.|
191
+ * |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.|
182
192
  * |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.|
183
193
  * |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.|
184
194
  * |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.|
@@ -0,0 +1,184 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { KomboCore } from "../core.js";
6
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import * as errors from "../models/errors/index.js";
21
+ import { KomboError } from "../models/errors/komboerror.js";
22
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import * as models from "../models/index.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Set integration enabled
31
+ *
32
+ * @remarks
33
+ * Enable or disable the specified integration. When disabling, all currently running syncs will be cancelled.
34
+ *
35
+ * All authentication credentials and configuration are preserved. Syncs can be resumed by re-enabling the integration.
36
+ *
37
+ * You may use this to, for example, pause syncing for customers that are temporarily not using the integration.
38
+ */
39
+ export function generalSetIntegrationEnabled(
40
+ client: KomboCore,
41
+ request: operations.PutIntegrationsIntegrationIdEnabledRequest,
42
+ options?: RequestOptions,
43
+ ): APIPromise<
44
+ Result<
45
+ models.PutIntegrationsIntegrationIdEnabledPositiveResponse,
46
+ | errors.KomboGeneralError
47
+ | KomboError
48
+ | ResponseValidationError
49
+ | ConnectionError
50
+ | RequestAbortedError
51
+ | RequestTimeoutError
52
+ | InvalidRequestError
53
+ | UnexpectedClientError
54
+ | SDKValidationError
55
+ >
56
+ > {
57
+ return new APIPromise($do(
58
+ client,
59
+ request,
60
+ options,
61
+ ));
62
+ }
63
+
64
+ async function $do(
65
+ client: KomboCore,
66
+ request: operations.PutIntegrationsIntegrationIdEnabledRequest,
67
+ options?: RequestOptions,
68
+ ): Promise<
69
+ [
70
+ Result<
71
+ models.PutIntegrationsIntegrationIdEnabledPositiveResponse,
72
+ | errors.KomboGeneralError
73
+ | KomboError
74
+ | ResponseValidationError
75
+ | ConnectionError
76
+ | RequestAbortedError
77
+ | RequestTimeoutError
78
+ | InvalidRequestError
79
+ | UnexpectedClientError
80
+ | SDKValidationError
81
+ >,
82
+ APICall,
83
+ ]
84
+ > {
85
+ const parsed = safeParse(
86
+ request,
87
+ (value) =>
88
+ operations.PutIntegrationsIntegrationIdEnabledRequest$outboundSchema
89
+ .parse(value),
90
+ "Input validation failed",
91
+ );
92
+ if (!parsed.ok) {
93
+ return [parsed, { status: "invalid" }];
94
+ }
95
+ const payload = parsed.value;
96
+ const body = encodeJSON("body", payload.body, { explode: true });
97
+
98
+ const pathParams = {
99
+ integration_id: encodeSimple("integration_id", payload.integration_id, {
100
+ explode: false,
101
+ charEncoding: "percent",
102
+ }),
103
+ };
104
+
105
+ const path = pathToFunc("/integrations/{integration_id}/enabled")(pathParams);
106
+
107
+ const headers = new Headers(compactMap({
108
+ "Content-Type": "application/json",
109
+ Accept: "application/json",
110
+ }));
111
+
112
+ const secConfig = await extractSecurity(client._options.api_key);
113
+ const securityInput = secConfig == null ? {} : { api_key: secConfig };
114
+ const requestSecurity = resolveGlobalSecurity(securityInput);
115
+
116
+ const context = {
117
+ options: client._options,
118
+ base_url: options?.server_url ?? client._baseURL ?? "",
119
+ operation_id: "PutIntegrationsIntegrationIdEnabled",
120
+ o_auth2_scopes: null,
121
+
122
+ resolved_security: requestSecurity,
123
+
124
+ security_source: client._options.api_key,
125
+ retry_config: options?.retries
126
+ || client._options.retry_config
127
+ || { strategy: "none" },
128
+ retry_codes: options?.retry_codes || ["429", "500", "502", "503", "504"],
129
+ };
130
+
131
+ const requestRes = client._createRequest(context, {
132
+ security: requestSecurity,
133
+ method: "PUT",
134
+ baseURL: options?.server_url,
135
+ path: path,
136
+ headers: headers,
137
+ body: body,
138
+ userAgent: client._options.user_agent,
139
+ timeout_ms: options?.timeout_ms || client._options.timeout_ms || -1,
140
+ }, options);
141
+ if (!requestRes.ok) {
142
+ return [requestRes, { status: "invalid" }];
143
+ }
144
+ const req = requestRes.value;
145
+
146
+ const doResult = await client._do(req, {
147
+ context,
148
+ errorCodes: ["default"],
149
+ retryConfig: context.retry_config,
150
+ retryCodes: context.retry_codes,
151
+ });
152
+ if (!doResult.ok) {
153
+ return [doResult, { status: "request-error", request: req }];
154
+ }
155
+ const response = doResult.value;
156
+
157
+ const responseFields = {
158
+ HttpMeta: { Response: response, Request: req },
159
+ };
160
+
161
+ const [result] = await M.match<
162
+ models.PutIntegrationsIntegrationIdEnabledPositiveResponse,
163
+ | errors.KomboGeneralError
164
+ | KomboError
165
+ | ResponseValidationError
166
+ | ConnectionError
167
+ | RequestAbortedError
168
+ | RequestTimeoutError
169
+ | InvalidRequestError
170
+ | UnexpectedClientError
171
+ | SDKValidationError
172
+ >(
173
+ M.json(
174
+ 200,
175
+ models.PutIntegrationsIntegrationIdEnabledPositiveResponse$inboundSchema,
176
+ ),
177
+ M.jsonErr("default", errors.KomboGeneralError$inboundSchema),
178
+ )(response, req, { extraFields: responseFields });
179
+ if (!result.ok) {
180
+ return [result, { status: "complete", request: req, response }];
181
+ }
182
+
183
+ return [result, { status: "complete", request: req, response }];
184
+ }
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: "0.3.4",
73
- genVersion: "2.791.1",
74
- userAgent: "speakeasy-sdk/typescript 0.3.4 2.791.1 1.0.0 @kombo-api/sdk",
72
+ sdkVersion: "0.4.1",
73
+ genVersion: "2.832.9",
74
+ userAgent: "speakeasy-sdk/typescript 0.4.1 2.832.9 1.0.0 @kombo-api/sdk",
75
75
  } as const;
package/src/lib/sdks.ts CHANGED
@@ -303,9 +303,9 @@ export class ClientSDK {
303
303
  }
304
304
  }
305
305
 
306
- const jsonLikeContentTypeRE = /(application|text)\/.*?\+*json.*/;
306
+ const jsonLikeContentTypeRE = /^(application|text)\/([^+]+\+)*json.*/;
307
307
  const jsonlLikeContentTypeRE =
308
- /(application|text)\/(.*?\+*\bjsonl\b.*|.*?\+*\bx-ndjson\b.*)/;
308
+ /^(application|text)\/([^+]+\+)*(jsonl|x-ndjson)\b.*/;
309
309
  async function logRequest(logger: Logger | undefined, req: Request) {
310
310
  if (!logger) {
311
311
  return;
@@ -146,7 +146,7 @@ export type AssessmentOrderReceivedWebhookPayloadJob = {
146
146
  */
147
147
  location?: AssessmentOrderReceivedWebhookPayloadLocation | null | undefined;
148
148
  /**
149
- * The hiring team allows you to sync users into your system who can access the job and its applications.
149
+ * The hiring team allows you to provision users into your system who can access the job and its applications.
150
150
  */
151
151
  hiring_team: Array<AssessmentOrderReceivedWebhookPayloadHiringTeam>;
152
152
  };
@@ -66,10 +66,10 @@ export const Name = {
66
66
  AtsRejectionReasons: "ats_rejection_reasons",
67
67
  LmsUsers: "lms_users",
68
68
  LmsCourseProviders: "lms_course_providers",
69
+ LmsSkills: "lms_skills",
69
70
  LmsCourses: "lms_courses",
70
- LmsCourseProgressions: "lms_course_progressions",
71
71
  LmsCourseRevisions: "lms_course_revisions",
72
- LmsSkills: "lms_skills",
72
+ LmsCourseProgressions: "lms_course_progressions",
73
73
  HrisJoinEmployeesTeams: "hris_join_employees_teams",
74
74
  AtsJoinCandidatesTags: "ats_join_candidates_tags",
75
75
  AtsJoinJobsApplicationStages: "ats_join_jobs_application_stages",
@@ -119,7 +119,7 @@ export type GetAssessmentOrdersOpenPositiveResponseJob = {
119
119
  */
120
120
  location?: GetAssessmentOrdersOpenPositiveResponseLocation | null | undefined;
121
121
  /**
122
- * The hiring team allows you to sync users into your system who can access the job and its applications.
122
+ * The hiring team allows you to provision users into your system who can access the job and its applications.
123
123
  */
124
124
  hiring_team: Array<GetAssessmentOrdersOpenPositiveResponseHiringTeam>;
125
125
  };
@@ -172,6 +172,10 @@ export type GetAtsInterviewsPositiveResponseResult = {
172
172
  * Location of the interview.
173
173
  */
174
174
  location?: GetAtsInterviewsPositiveResponseLocation | null | undefined;
175
+ /**
176
+ * The URL of the video conferencing platform used for the interview.
177
+ */
178
+ video_conferencing_url: string | null;
175
179
  /**
176
180
  * The Kombo ID of the application this interview belongs to. The ID can be used to retrieve the application from the `get applications` endpoint.
177
181
  */
@@ -408,6 +412,7 @@ export const GetAtsInterviewsPositiveResponseResult$inboundSchema: z.ZodType<
408
412
  location: z.nullable(
409
413
  z.lazy(() => GetAtsInterviewsPositiveResponseLocation$inboundSchema),
410
414
  ).optional(),
415
+ video_conferencing_url: z.nullable(z.string()),
411
416
  application_id: z.nullable(z.string()),
412
417
  stage_id: z.nullable(z.string()),
413
418
  canceled: z.nullable(z.boolean()),
@@ -95,6 +95,8 @@ export * from "./putatsapplicationsapplicationidstagepositiveresponse.js";
95
95
  export * from "./putatsapplicationsapplicationidstagerequestbody.js";
96
96
  export * from "./putintegrationsintegrationidcustomfieldscustomfieldidpositiveresponse.js";
97
97
  export * from "./putintegrationsintegrationidcustomfieldscustomfieldidrequestbody.js";
98
+ export * from "./putintegrationsintegrationidenabledpositiveresponse.js";
99
+ export * from "./putintegrationsintegrationidenabledrequestbody.js";
98
100
  export * from "./schema1.js";
99
101
  export * from "./schema1union1.js";
100
102
  export * from "./schema1union2.js";
@@ -150,7 +150,7 @@ export type InlineAssessmentOrderReceivedWebhookPayloadJob = {
150
150
  | null
151
151
  | undefined;
152
152
  /**
153
- * The hiring team allows you to sync users into your system who can access the job and its applications.
153
+ * The hiring team allows you to provision users into your system who can access the job and its applications.
154
154
  */
155
155
  hiring_team: Array<InlineAssessmentOrderReceivedWebhookPayloadHiringTeam>;
156
156
  };