@kombo-api/sdk 0.3.3 → 0.4.0

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 (102) 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/putintegrationsintegrationidenabledpositiveresponse.d.ts +15 -0
  61. package/esm/models/putintegrationsintegrationidenabledpositiveresponse.d.ts.map +1 -0
  62. package/esm/models/putintegrationsintegrationidenabledpositiveresponse.js +20 -0
  63. package/esm/models/putintegrationsintegrationidenabledpositiveresponse.js.map +1 -0
  64. package/esm/models/putintegrationsintegrationidenabledrequestbody.d.ts +15 -0
  65. package/esm/models/putintegrationsintegrationidenabledrequestbody.d.ts.map +1 -0
  66. package/esm/models/putintegrationsintegrationidenabledrequestbody.js +12 -0
  67. package/esm/models/putintegrationsintegrationidenabledrequestbody.js.map +1 -0
  68. package/esm/sdk/ats.d.ts +2 -0
  69. package/esm/sdk/ats.d.ts.map +1 -1
  70. package/esm/sdk/ats.js +2 -0
  71. package/esm/sdk/ats.js.map +1 -1
  72. package/esm/sdk/general.d.ts +23 -2
  73. package/esm/sdk/general.d.ts.map +1 -1
  74. package/esm/sdk/general.js +26 -2
  75. package/esm/sdk/general.js.map +1 -1
  76. package/examples/package-lock.json +3 -3
  77. package/jsr.json +1 -1
  78. package/package.json +3 -3
  79. package/src/funcs/atsCreateApplication.ts +2 -0
  80. package/src/funcs/generalSendPassthroughRequest.ts +12 -2
  81. package/src/funcs/generalSetIntegrationEnabled.ts +184 -0
  82. package/src/lib/config.ts +3 -3
  83. package/src/lib/sdks.ts +2 -2
  84. package/src/models/assessmentorderreceivedwebhookpayload.ts +1 -1
  85. package/src/models/datachangedwebhookpayload.ts +2 -2
  86. package/src/models/getassessmentordersopenpositiveresponse.ts +1 -1
  87. package/src/models/getatsinterviewspositiveresponse.ts +5 -0
  88. package/src/models/index.ts +2 -0
  89. package/src/models/inlineassessmentorderreceivedwebhookpayload.ts +1 -1
  90. package/src/models/integrationstatechangedwebhookpayload.ts +32 -0
  91. package/src/models/komboatserror.ts +1 -0
  92. package/src/models/kombogeneralerror.ts +1 -0
  93. package/src/models/kombohriserror.ts +1 -0
  94. package/src/models/operations/index.ts +1 -0
  95. package/src/models/operations/putintegrationsintegrationidenabled.ts +45 -0
  96. package/src/models/postconnectcreatelinkrequestbody.ts +8 -1
  97. package/src/models/putintegrationsintegrationidenabledpositiveresponse.ts +67 -0
  98. package/src/models/putintegrationsintegrationidenabledrequestbody.ts +38 -0
  99. package/src/sdk/ats.ts +2 -0
  100. package/src/sdk/general.ts +34 -2
  101. package/tests/basic-behavior.spec.ts +1 -1
  102. package/tests/job-board.spec.ts +1 -1
@@ -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.3",
73
- genVersion: "2.791.1",
74
- userAgent: "speakeasy-sdk/typescript 0.3.3 2.791.1 1.0.0 @kombo-api/sdk",
72
+ sdkVersion: "0.4.0",
73
+ genVersion: "2.832.9",
74
+ userAgent: "speakeasy-sdk/typescript 0.4.0 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
  };
@@ -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.
@@ -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
+ }