kombo 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/general.rb +142 -1
  3. data/lib/kombo/models/operations/getatsapplications_request.rb +2 -2
  4. data/lib/kombo/models/operations/getatscandidates_request.rb +2 -2
  5. data/lib/kombo/models/operations/getatsinterviews_request.rb +2 -2
  6. data/lib/kombo/models/operations/getatsjobs_request.rb +2 -2
  7. data/lib/kombo/models/operations/getatsoffers_request.rb +2 -2
  8. data/lib/kombo/models/operations/getatsusers_request.rb +2 -2
  9. data/lib/kombo/models/operations/gethrisabsences_request.rb +2 -2
  10. data/lib/kombo/models/operations/gethrisemployees_request.rb +2 -2
  11. data/lib/kombo/models/operations/gethrisperformancereviews_request.rb +2 -2
  12. data/lib/kombo/models/operations/gethrisstaffingentities_request.rb +2 -2
  13. data/lib/kombo/models/operations/gethristimeoffbalances_request.rb +2 -2
  14. data/lib/kombo/models/operations/postintegrationsintegrationidsetuplink_request.rb +36 -0
  15. data/lib/kombo/models/operations/postintegrationsintegrationidsetuplink_request.rbi +15 -0
  16. data/lib/kombo/models/operations/postintegrationsintegrationidsetuplink_response.rb +44 -0
  17. data/lib/kombo/models/operations/postintegrationsintegrationidsetuplink_response.rbi +19 -0
  18. data/lib/kombo/models/operations.rb +2 -0
  19. data/lib/kombo/models/shared/integration_tool.rb +6 -0
  20. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse.rb +39 -0
  21. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse.rbi +15 -0
  22. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse_data.rb +32 -0
  23. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse_data.rbi +13 -0
  24. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody.rb +36 -0
  25. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody.rbi +15 -0
  26. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_language.rb +24 -0
  27. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_language.rbi +11 -0
  28. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_link_type.rb +21 -0
  29. data/lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_link_type.rbi +11 -0
  30. data/lib/kombo/models/shared.rb +5 -0
  31. data/lib/kombo/sdkconfiguration.rb +2 -2
  32. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b766eb8608d28908b92ab3310a641652a9b5bf9daea7bf78c38a72b455394272
4
- data.tar.gz: 81f7b7f5bc399688363dd673069942cf080951c286539ec47826b0b1f82b171b
3
+ metadata.gz: ca92379b4364b2f0c874fd760be95e41e0c7eecb875a26deca984967375a9e5b
4
+ data.tar.gz: 6ca24e6b0a4001aa1abe1cc3ce2810db6d8e1ae9a39f9f748f328c9aea9be322
5
5
  SHA512:
6
- metadata.gz: 03b6f478fa958ad31c550c30b5a48185204e11a80aa6427cbb73753f381fb6ce0cd4c8a8a01569cc496b4b48e7c9058757eabb33b1f453e26b1775fe6edc2f0d
7
- data.tar.gz: 0d08749c2f76af4b17f3cfc904b44672dc0401b105b344a171df0121bb60efaf74219f2ae2d38ed8e577b8a6c2818d915a32e50cb62730b2ebb90d8c69a01b68
6
+ metadata.gz: 66cc19884096001a8b6243a312dcfac5e181dd1637ba6779cedf615b23814fb05380ea998543cab6885646482aedf082526f48d128666f957eaf28e3c728da90
7
+ data.tar.gz: 7e3628a3d38e1f8c4f9c39703b0a4b697a925410e9ad7fcac2f9999840312d21665f4e7270c5c857026fbecbcb7be61271fbba85a84a639aae1be37ef69831ff
data/lib/kombo/general.rb CHANGED
@@ -313,6 +313,7 @@ module Kombo
313
313
  # |BITE|`bite/v1`|[Bite's v1 API](https://api.b-ite.io/docs/#/). We automatically authenticate all requests and use 'https://api.b-ite.io/v1' as base URL.|
314
314
  # |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.|
315
315
  # |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.|
316
+ # |Bullhorn for Salesforce|`bullhorn4salesforce/v66`|We use `https://\{subdomain\}.my.salesforce.com/services/data/v66.0` as the base URL. Find the official docs [here](https://kb.bullhorn.com/bh4sf/Content/BH4SF/Topics/bh4sfRestAPI.htm).|
316
317
  # |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.|
317
318
  # |CareerPlug|`careerplug/api`|We use `https://api.careerplug.com` as the base URL. Find the official docs [here](https://api.careerplug.com/docs#api).|
318
319
  # |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.|
@@ -354,12 +355,13 @@ module Kombo
354
355
  # |Gem|`gem/api`|Gem's [ATS API](https://api.gem.com/ats/v0/reference) We automatically authenticate all requests.|
355
356
  # |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.|
356
357
  # |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.|
358
+ # |Greenhouse (V3)|`greenhousev3/harvestv3`|We use `https://harvest.greenhouse.io/v3` as the base URL. Find the official docs [here](https://harvestdocs.greenhouse.io/reference/).|
357
359
  # |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.|
358
360
  # |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.|
359
361
  # |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.|
360
362
  # |GuideCom|`guidecom/api`|GuideCom's API. We automatically authenticate all requests and use the configured API base URL.|
361
363
  # |Gusto|`gusto/v1`|[Gusto API](https://docs.gusto.com/app-integrations/docs/introduction). We automatically authenticate all requests with OAuth and use `\{api_base_url\}/v1` as the base URL (`https://api.gusto.com/v1` in production, `https://api.gusto-demo.com/v1` in development).|
362
- # |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.|
364
+ # |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. Connections created against the `DEMO` remote environment are routed to `https://api.demo.haileyhr.app` instead.|
363
365
  # |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.|
364
366
  # |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.|
365
367
  # |HeavenHR|`heavenhr/v2`|[HeavenHR API](https://api.heavenhr.com/). We automatically authenticate all requests using the provided credentials and use `https://api.heavenhr.com/api/v2` as the base URL.|
@@ -384,6 +386,7 @@ module Kombo
384
386
  # |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.|
385
387
  # |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.|
386
388
  # |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.|
389
+ # |Kula|`kula/v1`|Kula's [REST API](https://developers.kula.ai/docs/getting-started/overview). We automatically authenticate all requests with the provided credentials and use `https://api.kula.ai/v1` as the base URL.|
387
390
  # |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.|
388
391
  # |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.|
389
392
  # |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.|
@@ -392,6 +395,7 @@ module Kombo
392
395
  # |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.|
393
396
  # |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).|
394
397
  # |LinkedIn Learning|`linkedinlearning/v2`|LinkedIn Learning [API v2](https://learn.microsoft.com/en-us/linkedin/learning/). We automatically handle authentication and use `https://api.linkedin.com/v2` as the base URL.|
398
+ # |Logic Melon|`logicmelon/json`|We use `https://api.logicmelon.co.uk` as the base URL. Find the official docs [here](https://api.logicmelon.com/JSON/Multiposter.asmx).|
395
399
  # |Loket|`loket/api`|[Loket's REST API](https://developers.loket.nl/). We automatically authenticate all requests and use `https://\{api_domain\}` as the base URL, where `api_domain` is the API domain configured during integration setup (e.g. `api.loket.nl`).|
396
400
  # |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.|
397
401
  # |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.|
@@ -463,6 +467,7 @@ module Kombo
463
467
  # |TriNet PEO|`trinetpeo/v1`|We use `https://api.trinet.com` as the base URL. Find the official docs [here](https://developers.trinet.com).|
464
468
  # |Ubeeo|`ubeeo/api`|Ubeeo ATS API. We automatically authenticate all requests using OAuth client credentials and use `https://api.ats-platform.com` as the base URL (sandbox: `https://api.acc.ats-platform.com`).|
465
469
  # |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.|
470
+ # |UKG Pro WFM|`ukgprowfm/api`|UKG Pro WFM's [API](https://developer.ukg.com/wfm/reference/welcome-to-the-ukg-pro-workforce-management-api). We automatically authenticate all requests and use `https://\{hostname\}` as the base URL.|
466
471
  # |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.|
467
472
  # |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.|
468
473
  # |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.|
@@ -1152,6 +1157,142 @@ module Kombo
1152
1157
  end
1153
1158
 
1154
1159
 
1160
+ sig { params(body: Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBody, integration_id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::PostIntegrationsIntegrationIdSetupLinkResponse) }
1161
+ def create_setup_link(body:, integration_id:, timeout_ms: nil)
1162
+ # create_setup_link - Create Setup Flow link
1163
+ # Create a link that lets your customer run the [Setup Flow](/hris/features/setup-flow/introduction) for an integration. Use this to send customers back into setup steps like field mapping or employee filtering without having to go through the initial connection flow again. Pass the returned URL to `showKomboConnect` from the Kombo Connect SDK, the same way you do with a connection link.
1164
+ #
1165
+ # The integration must have at least one Setup Flow step enabled (e.g. field mapping or employee filtering); otherwise this endpoint returns a `PLATFORM.INPUT_INVALID` error. Steps can be enabled from the Integration Settings tab in the dashboard or via the [Create Connection Link endpoint](./post-connect-create-link).
1166
+ request = Models::Operations::PostIntegrationsIntegrationIdSetupLinkRequest.new(
1167
+ integration_id: integration_id,
1168
+ body: body
1169
+ )
1170
+ url, params = @sdk_configuration.get_server_details
1171
+ base_url = Utils.template_url(url, params)
1172
+ url = Utils.generate_url(
1173
+ Models::Operations::PostIntegrationsIntegrationIdSetupLinkRequest,
1174
+ base_url,
1175
+ '/integrations/{integration_id}/setup-link',
1176
+ request,
1177
+ @sdk_configuration.globals
1178
+ )
1179
+ headers = {}
1180
+ headers = T.cast(headers, T::Hash[String, String])
1181
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :body, :json)
1182
+ headers['content-type'] = req_content_type
1183
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1184
+
1185
+ if form
1186
+ body = Utils.encode_form(form)
1187
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1188
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
1189
+ else
1190
+ body = data
1191
+ end
1192
+ headers['Accept'] = 'application/json'
1193
+ headers['user-agent'] = @sdk_configuration.user_agent
1194
+
1195
+ security = @sdk_configuration.security_source&.call
1196
+
1197
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
1198
+ timeout ||= (300_000.to_f / 1000)
1199
+
1200
+
1201
+ connection = @sdk_configuration.client
1202
+
1203
+ hook_ctx = SDKHooks::HookContext.new(
1204
+ config: @sdk_configuration,
1205
+ base_url: base_url,
1206
+ oauth2_scopes: nil,
1207
+ operation_id: 'PostIntegrationsIntegrationIdSetupLink',
1208
+ security_source: @sdk_configuration.security_source
1209
+ )
1210
+
1211
+ error = T.let(nil, T.nilable(StandardError))
1212
+ http_response = T.let(nil, T.nilable(Faraday::Response))
1213
+
1214
+
1215
+ begin
1216
+ http_response = T.must(connection).post(url) do |req|
1217
+ req.body = body
1218
+ req.headers.merge!(headers)
1219
+ req.options.timeout = timeout unless timeout.nil?
1220
+ Utils.configure_request_security(req, security)
1221
+
1222
+ @sdk_configuration.hooks.before_request(
1223
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
1224
+ hook_ctx: hook_ctx
1225
+ ),
1226
+ request: req
1227
+ )
1228
+ end
1229
+ rescue StandardError => e
1230
+ error = e
1231
+ ensure
1232
+ if http_response.nil? || Utils.error_status?(http_response.status)
1233
+ http_response = @sdk_configuration.hooks.after_error(
1234
+ error: error,
1235
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
1236
+ hook_ctx: hook_ctx
1237
+ ),
1238
+ response: http_response
1239
+ )
1240
+ else
1241
+ http_response = @sdk_configuration.hooks.after_success(
1242
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1243
+ hook_ctx: hook_ctx
1244
+ ),
1245
+ response: http_response
1246
+ )
1247
+ end
1248
+
1249
+ if http_response.nil?
1250
+ raise error if !error.nil?
1251
+ raise 'no response'
1252
+ end
1253
+ end
1254
+
1255
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
1256
+ if Utils.match_status_code(http_response.status, ['200'])
1257
+ if Utils.match_content_type(content_type, 'application/json')
1258
+ http_response = @sdk_configuration.hooks.after_success(
1259
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1260
+ hook_ctx: hook_ctx
1261
+ ),
1262
+ response: http_response
1263
+ )
1264
+ response_data = http_response.env.response_body
1265
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponse)
1266
+ response = Models::Operations::PostIntegrationsIntegrationIdSetupLinkResponse.new(
1267
+ status_code: http_response.status,
1268
+ content_type: content_type,
1269
+ raw_response: http_response,
1270
+ post_integrations_integration_id_setup_link_positive_response: T.unsafe(obj)
1271
+ )
1272
+
1273
+ return response
1274
+ else
1275
+ raise ::Kombo::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1276
+ end
1277
+ else
1278
+ if Utils.match_content_type(content_type, 'application/json')
1279
+ http_response = @sdk_configuration.hooks.after_success(
1280
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
1281
+ hook_ctx: hook_ctx
1282
+ ),
1283
+ response: http_response
1284
+ )
1285
+ response_data = http_response.env.response_body
1286
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::KomboGeneralError)
1287
+ obj.raw_response = http_response
1288
+ raise obj
1289
+ else
1290
+ raise ::Kombo::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1291
+ end
1292
+ end
1293
+ end
1294
+
1295
+
1155
1296
  sig { params(integration_id: ::String, cursor: T.nilable(::String), page_size: T.nilable(::Integer), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetIntegrationsIntegrationIdIntegrationFieldsResponse) }
1156
1297
  def get_integration_fields(integration_id:, cursor: nil, page_size: nil, timeout_ms: nil)
1157
1298
  # get_integration_fields - Get integration fields
@@ -24,7 +24,7 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `candidate` | n/a | ✓ Yes |
30
30
  # | `candidate` → `tags` | ✗ No | ✗ No |
@@ -33,7 +33,7 @@ module Kombo
33
33
  # | `interviews` | ✓ Yes | ✓ Yes |
34
34
  # | `offers` | ✓ Yes | ✓ Yes |
35
35
  #
36
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
36
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
37
37
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
38
38
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
39
39
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,14 +24,14 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `applications` | ✓ Yes | ✓ Yes |
30
30
  # | `applications` → `current_stage` | ✗ No | ✗ No |
31
31
  # | `applications` → `job` | ✗ No | ✗ No |
32
32
  # | `tags` | ✓ Yes | ✗ No |
33
33
  #
34
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
34
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
35
35
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
36
36
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
37
37
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,14 +24,14 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `interviewers` | ✓ Yes | ✗ No |
30
30
  # | `application` | n/a | ✓ Yes |
31
31
  # | `application` → `candidate` | ✗ No | ✗ No |
32
32
  # | `application` → `job` | ✗ No | ✗ No |
33
33
  #
34
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
34
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
35
35
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
36
36
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
37
37
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,14 +24,14 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `stages` | ✓ Yes | ✗ No |
30
30
  # | `screening_questions` | ✓ Yes | ✗ No |
31
31
  # | `job_postings` | ✓ Yes | ✓ Yes |
32
32
  # | `hiring_team` | ✓ Yes | ✗ No |
33
33
  #
34
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
34
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
35
35
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
36
36
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
37
37
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,13 +24,13 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `application` | n/a | ✓ Yes |
30
30
  # | `application` → `candidate` | ✗ No | ✗ No |
31
31
  # | `application` → `job` | ✗ No | ✗ No |
32
32
  #
33
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
33
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
34
34
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
35
35
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
36
36
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,11 +24,11 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `system_role_assignment` | ✓ Yes | ✓ Yes |
30
30
  #
31
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
31
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
32
32
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
33
33
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
34
34
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,11 +24,11 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `type` | n/a | ✓ Yes |
30
30
  #
31
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
31
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
32
32
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
33
33
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
34
34
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,7 +24,7 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `employments` | ✓ Yes | ✓ Yes |
30
30
  # | `time_off_balances` | ✓ Yes | ✓ Yes |
@@ -33,7 +33,7 @@ module Kombo
33
33
  # | `legal_entity` | n/a | ✓ Yes |
34
34
  # | `work_location` | n/a | ✓ Yes |
35
35
  #
36
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
36
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
37
37
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
38
38
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
39
39
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,13 +24,13 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `review_cycle` | n/a | ✓ Yes |
30
30
  # | `reviewee` | n/a | ✓ Yes |
31
31
  # | `reviewer` | n/a | ✓ Yes |
32
32
  #
33
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
33
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
34
34
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
35
35
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
36
36
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,13 +24,13 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `locations` | ✓ Yes | ✓ Yes |
30
30
  # | `legal_entities` | ✓ Yes | ✓ Yes |
31
31
  # | `groups` | ✓ Yes | ✓ Yes |
32
32
  #
33
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
33
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
34
34
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
35
35
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
36
36
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -24,11 +24,11 @@ module Kombo
24
24
  #
25
25
  # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
26
  #
27
- # | Path | Relationship | Target Record |
27
+ # | Path | Added/Removed | Linked Record |
28
28
  # | --- | --- | --- |
29
29
  # | `type` | n/a | ✓ Yes |
30
30
  #
31
- # _**Relationship**: Whether adding or removing entries from this list triggers an update (n/a for single references that are not lists). **Target Record**: Whether changes to the linked record itself trigger an update._
31
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
32
32
  field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
33
33
  # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
34
34
  field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Operations
10
+
11
+ class PostIntegrationsIntegrationIdSetupLinkRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # POST /integrations/:integration_id/setup-link Parameter
16
+ field :integration_id, ::String, { 'path_param': { 'field_name': 'integration_id', 'style': 'simple', 'explode': false } }
17
+ # POST /integrations/:integration_id/setup-link Request body
18
+ field :body, Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBody, { 'request': { 'media_type': 'application/json' } }
19
+
20
+ sig { params(integration_id: ::String, body: Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBody).void }
21
+ def initialize(integration_id:, body:)
22
+ @integration_id = integration_id
23
+ @body = body
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @integration_id == other.integration_id
30
+ return false unless @body == other.body
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Operations::PostIntegrationsIntegrationIdSetupLinkRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Operations::PostIntegrationsIntegrationIdSetupLinkRequest
11
+ def integration_id(); end
12
+ def integration_id=(str_); end
13
+ def body(); end
14
+ def body=(str_); end
15
+ end
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Operations
10
+
11
+ class PostIntegrationsIntegrationIdSetupLinkResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # HTTP response content type for this operation
16
+ field :content_type, ::String
17
+ # HTTP response status code for this operation
18
+ field :status_code, ::Integer
19
+ # Raw HTTP response; suitable for custom response parsing
20
+ field :raw_response, ::Faraday::Response
21
+ # POST /integrations/:integration_id/setup-link Positive response
22
+ field :post_integrations_integration_id_setup_link_positive_response, Crystalline::Nilable.new(Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponse)
23
+
24
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, post_integrations_integration_id_setup_link_positive_response: T.nilable(Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponse)).void }
25
+ def initialize(content_type:, status_code:, raw_response:, post_integrations_integration_id_setup_link_positive_response: nil)
26
+ @content_type = content_type
27
+ @status_code = status_code
28
+ @raw_response = raw_response
29
+ @post_integrations_integration_id_setup_link_positive_response = post_integrations_integration_id_setup_link_positive_response
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @content_type == other.content_type
36
+ return false unless @status_code == other.status_code
37
+ return false unless @raw_response == other.raw_response
38
+ return false unless @post_integrations_integration_id_setup_link_positive_response == other.post_integrations_integration_id_setup_link_positive_response
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Operations::PostIntegrationsIntegrationIdSetupLinkResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Operations::PostIntegrationsIntegrationIdSetupLinkResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def post_integrations_integration_id_setup_link_positive_response(); end
18
+ def post_integrations_integration_id_setup_link_positive_response=(str_); end
19
+ end
@@ -112,6 +112,8 @@ module Kombo
112
112
  autoload :PostHrisEmployeesFormResponse, 'kombo/models/operations/posthrisemployeesform_response.rb'
113
113
  autoload :PostIntegrationsIntegrationIdRelinkRequest, 'kombo/models/operations/postintegrationsintegrationidrelink_request.rb'
114
114
  autoload :PostIntegrationsIntegrationIdRelinkResponse, 'kombo/models/operations/postintegrationsintegrationidrelink_response.rb'
115
+ autoload :PostIntegrationsIntegrationIdSetupLinkRequest, 'kombo/models/operations/postintegrationsintegrationidsetuplink_request.rb'
116
+ autoload :PostIntegrationsIntegrationIdSetupLinkResponse, 'kombo/models/operations/postintegrationsintegrationidsetuplink_response.rb'
115
117
  autoload :PostPassthroughToolApiRequest, 'kombo/models/operations/postpassthroughtoolapi_request.rb'
116
118
  autoload :PostPassthroughToolApiResponse, 'kombo/models/operations/postpassthroughtoolapi_response.rb'
117
119
  autoload :PutAssessmentOrdersAssessmentOrderIdResultRequest, 'kombo/models/operations/putassessmentordersassessmentorderidresult_request.rb'
@@ -23,6 +23,7 @@ module Kombo
23
23
  RECRUITEE = new('recruitee')
24
24
  RECRUITERFLOW = new('recruiterflow')
25
25
  GREENHOUSE = new('greenhouse')
26
+ GREENHOUSEV3 = new('greenhousev3')
26
27
  GREENHOUSEJOBBOARD = new('greenhousejobboard')
27
28
  TEAMTAILOR = new('teamtailor')
28
29
  TEAMTAILORJOBBOARDS = new('teamtailorjobboards')
@@ -41,6 +42,7 @@ module Kombo
41
42
  REXX = new('rexx')
42
43
  AFAS = new('afas')
43
44
  BAMBOOHR = new('bamboohr')
45
+ BULLHORN4SALESFORCE = new('bullhorn4salesforce')
44
46
  BULLHORN = new('bullhorn')
45
47
  BULLHORNLOGIN = new('bullhornlogin')
46
48
  WORKABLE = new('workable')
@@ -80,6 +82,7 @@ module Kombo
80
82
  RECRUITCRM = new('recruitcrm')
81
83
  JAZZHR = new('jazzhr')
82
84
  BITE = new('bite')
85
+ BRASSRING = new('brassring')
83
86
  HOMERUN = new('homerun')
84
87
  MYSOLUTION = new('mysolution')
85
88
  CARERIX = new('carerix')
@@ -115,9 +118,12 @@ module Kombo
115
118
  SANDBOX = new('sandbox')
116
119
  GUIDECOM = new('guidecom')
117
120
  SPOTT = new('spott')
121
+ LOGICMELON = new('logicmelon')
118
122
  LOXO = new('loxo')
123
+ KULA = new('kula')
119
124
  WORKDAYCUSTOMREPORT = new('workdaycustomreport')
120
125
  WORKDAYCUSTOMREPORTSFTP = new('workdaycustomreportsftp')
126
+ UKGPROWFM = new('ukgprowfm')
121
127
  PAYFITCUSTOMER = new('payfitcustomer')
122
128
  PAYFITPARTNER = new('payfitpartner')
123
129
  PAYFIT = new('payfit')
@@ -0,0 +1,39 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class PostIntegrationsIntegrationIdSetupLinkPositiveResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :status, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true } }
17
+
18
+ field :data, Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponseData, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('data'), required: true } }
19
+
20
+ sig { params(status: ::String, data: Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponseData).void }
21
+ def initialize(status:, data:)
22
+ unless status == 'success'
23
+ raise ArgumentError, 'Invalid value for status'
24
+ end
25
+ @status = 'success'
26
+ @data = data
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @status == other.status
33
+ return false unless @data == other.data
34
+ true
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponse
11
+ def status(); end
12
+ def status=(str_); end
13
+ def data(); end
14
+ def data=(str_); end
15
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class PostIntegrationsIntegrationIdSetupLinkPositiveResponseData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The setup link URL to pass to the Kombo Connect SDK.
16
+ field :link, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('link'), required: true } }
17
+
18
+ sig { params(link: ::String).void }
19
+ def initialize(link:)
20
+ @link = link
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @link == other.link
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponseData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkPositiveResponseData
11
+ def link(); end
12
+ def link=(str_); end
13
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class PostIntegrationsIntegrationIdSetupLinkRequestBody
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The type of link you want to create. `EMBEDDED` is for the [embedded flow](../guides/connect/embedded-flow) using the Kombo Connect SDK (these links are valid for 1 hour) and `MAGIC_LINK` is for [magic links](../guides/connect/magic-links) which you send out manually to customers (these are valid for 1 year).
16
+ field :link_type, Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLinkType, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('link_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLinkType, false) } }
17
+ # Language of the setup flow UI.
18
+ field :language, Crystalline::Nilable.new(Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('language'), 'decoder': Utils.enum_from_string(Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage, true) } }
19
+
20
+ sig { params(link_type: Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLinkType, language: T.nilable(Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage)).void }
21
+ def initialize(link_type:, language: Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage::EN)
22
+ @link_type = link_type
23
+ @language = language
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @link_type == other.link_type
30
+ return false unless @language == other.language
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBody
11
+ def link_type(); end
12
+ def link_type=(str_); end
13
+ def language(); end
14
+ def language=(str_); end
15
+ end
@@ -0,0 +1,24 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage - Language of the setup flow UI.
11
+ class PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage < T::Enum
12
+
13
+
14
+ enums do
15
+ EN = new('en')
16
+ DE = new('de')
17
+ FR = new('fr')
18
+ IT = new('it')
19
+ ES = new('es')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage
11
+ end
@@ -0,0 +1,21 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # PostIntegrationsIntegrationIdSetupLinkRequestBodyLinkType - The type of link you want to create. `EMBEDDED` is for the [embedded flow](../guides/connect/embedded-flow) using the Kombo Connect SDK (these links are valid for 1 hour) and `MAGIC_LINK` is for [magic links](../guides/connect/magic-links) which you send out manually to customers (these are valid for 1 year).
11
+ class PostIntegrationsIntegrationIdSetupLinkRequestBodyLinkType < T::Enum
12
+
13
+
14
+ enums do
15
+ EMBEDDED = new('EMBEDDED')
16
+ MAGIC_LINK = new('MAGIC_LINK')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLinkType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostIntegrationsIntegrationIdSetupLinkRequestBodyLinkType
11
+ end
@@ -680,6 +680,11 @@ module Kombo
680
680
  autoload :PostIntegrationsIntegrationIdRelinkRequestBody, 'kombo/models/shared/postintegrationsintegrationidrelinkrequestbody.rb'
681
681
  autoload :PostIntegrationsIntegrationIdRelinkRequestBodyLanguage, 'kombo/models/shared/postintegrationsintegrationidrelinkrequestbody_language.rb'
682
682
  autoload :PostIntegrationsIntegrationIdRelinkRequestBodyLinkType, 'kombo/models/shared/postintegrationsintegrationidrelinkrequestbody_link_type.rb'
683
+ autoload :PostIntegrationsIntegrationIdSetupLinkPositiveResponse, 'kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse.rb'
684
+ autoload :PostIntegrationsIntegrationIdSetupLinkPositiveResponseData, 'kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse_data.rb'
685
+ autoload :PostIntegrationsIntegrationIdSetupLinkRequestBody, 'kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody.rb'
686
+ autoload :PostIntegrationsIntegrationIdSetupLinkRequestBodyLanguage, 'kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_language.rb'
687
+ autoload :PostIntegrationsIntegrationIdSetupLinkRequestBodyLinkType, 'kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_link_type.rb'
683
688
  autoload :PostPassthroughToolApiPositiveResponse, 'kombo/models/shared/postpassthroughtoolapipositiveresponse.rb'
684
689
  autoload :PostPassthroughToolApiPositiveResponseData, 'kombo/models/shared/postpassthroughtoolapipositiveresponse_data.rb'
685
690
  autoload :PostPassthroughToolApiPositiveResponseWarning, 'kombo/models/shared/postpassthroughtoolapipositiveresponse_warning.rb'
@@ -98,9 +98,9 @@ module Kombo
98
98
  @globals = globals.nil? ? {} : globals
99
99
  @language = 'ruby'
100
100
  @openapi_doc_version = '1.0.0'
101
- @sdk_version = '1.1.1'
101
+ @sdk_version = '1.1.2'
102
102
  @gen_version = '2.801.2'
103
- @user_agent = 'speakeasy-sdk/ruby 1.1.1 2.801.2 1.0.0 kombo'
103
+ @user_agent = 'speakeasy-sdk/ruby 1.1.2 2.801.2 1.0.0 kombo'
104
104
  end
105
105
 
106
106
  sig { returns([String, T::Hash[Symbol, String]]) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kombo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kombo Technologies GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-16 00:00:00.000000000 Z
11
+ date: 2026-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -509,6 +509,10 @@ files:
509
509
  - lib/kombo/models/operations/postintegrationsintegrationidrelink_request.rbi
510
510
  - lib/kombo/models/operations/postintegrationsintegrationidrelink_response.rb
511
511
  - lib/kombo/models/operations/postintegrationsintegrationidrelink_response.rbi
512
+ - lib/kombo/models/operations/postintegrationsintegrationidsetuplink_request.rb
513
+ - lib/kombo/models/operations/postintegrationsintegrationidsetuplink_request.rbi
514
+ - lib/kombo/models/operations/postintegrationsintegrationidsetuplink_response.rb
515
+ - lib/kombo/models/operations/postintegrationsintegrationidsetuplink_response.rbi
512
516
  - lib/kombo/models/operations/postpassthroughtoolapi_request.rb
513
517
  - lib/kombo/models/operations/postpassthroughtoolapi_request.rbi
514
518
  - lib/kombo/models/operations/postpassthroughtoolapi_response.rb
@@ -1992,6 +1996,16 @@ files:
1992
1996
  - lib/kombo/models/shared/postintegrationsintegrationidrelinkrequestbody_language.rbi
1993
1997
  - lib/kombo/models/shared/postintegrationsintegrationidrelinkrequestbody_link_type.rb
1994
1998
  - lib/kombo/models/shared/postintegrationsintegrationidrelinkrequestbody_link_type.rbi
1999
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse.rb
2000
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse.rbi
2001
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse_data.rb
2002
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkpositiveresponse_data.rbi
2003
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody.rb
2004
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody.rbi
2005
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_language.rb
2006
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_language.rbi
2007
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_link_type.rb
2008
+ - lib/kombo/models/shared/postintegrationsintegrationidsetuplinkrequestbody_link_type.rbi
1995
2009
  - lib/kombo/models/shared/postpassthroughtoolapipositiveresponse.rb
1996
2010
  - lib/kombo/models/shared/postpassthroughtoolapipositiveresponse.rbi
1997
2011
  - lib/kombo/models/shared/postpassthroughtoolapipositiveresponse_data.rb