kombo 1.1.2 → 1.1.4

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/general.rb +6 -0
  3. data/lib/kombo/hris.rb +8 -3
  4. data/lib/kombo/models/operations/gethrisemployeesform_request.rb +6 -2
  5. data/lib/kombo/models/operations/gethrisemployeesform_request.rbi +2 -0
  6. data/lib/kombo/models/shared/assess_candidate_data.rb +32 -0
  7. data/lib/kombo/models/shared/assess_candidate_data.rbi +13 -0
  8. data/lib/kombo/models/shared/assess_candidate_test_result_data.rb +32 -0
  9. data/lib/kombo/models/shared/assess_candidate_test_result_data.rbi +13 -0
  10. data/lib/kombo/models/shared/assessment_test_status_reference.rb +32 -0
  11. data/lib/kombo/models/shared/assessment_test_status_reference.rbi +13 -0
  12. data/lib/kombo/models/shared/candidate_assessment_data.rb +32 -0
  13. data/lib/kombo/models/shared/candidate_assessment_data.rbi +13 -0
  14. data/lib/kombo/models/shared/getatsjobspositiveresponse_result.rb +2 -2
  15. data/lib/kombo/models/shared/{visibility.rb → getatsjobspositiveresponse_visibility.rb} +1 -1
  16. data/lib/kombo/models/shared/getatsjobspositiveresponse_visibility.rbi +11 -0
  17. data/lib/kombo/models/shared/imported_id.rb +6 -2
  18. data/lib/kombo/models/shared/imported_id.rbi +2 -0
  19. data/lib/kombo/models/shared/integration_tool.rb +3 -1
  20. data/lib/kombo/models/shared/kombohriserror_code.rb +1 -0
  21. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_greenhousev3.rb +32 -0
  22. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_greenhousev3.rbi +13 -0
  23. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rb +6 -2
  24. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rbi +2 -0
  25. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_visibility.rb +22 -0
  26. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_visibility.rbi +11 -0
  27. data/lib/kombo/models/shared/postatsapplicationsapplicationidrejectrequestbody_greenhousev3.rb +32 -0
  28. data/lib/kombo/models/shared/postatsapplicationsapplicationidrejectrequestbody_greenhousev3.rbi +13 -0
  29. data/lib/kombo/models/shared/postatsapplicationsapplicationidrejectrequestbody_remote_fields.rb +6 -2
  30. data/lib/kombo/models/shared/postatsapplicationsapplicationidrejectrequestbody_remote_fields.rbi +2 -0
  31. data/lib/kombo/models/shared/postatscandidatesrequestbody_covetorest_candidate.rb +6 -2
  32. data/lib/kombo/models/shared/postatscandidatesrequestbody_covetorest_candidate.rbi +2 -0
  33. data/lib/kombo/models/shared/postatscandidatesrequestbody_greenhousev3.rb +36 -0
  34. data/lib/kombo/models/shared/postatscandidatesrequestbody_greenhousev3.rbi +15 -0
  35. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +6 -2
  36. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +2 -0
  37. data/lib/kombo/models/shared/postatsimporttrackedapplicationpositiveresponse_greenhousev3_applicationid.rb +39 -0
  38. data/lib/kombo/models/shared/postatsimporttrackedapplicationpositiveresponse_greenhousev3_applicationid.rbi +15 -0
  39. data/lib/kombo/models/shared/postatsimporttrackedapplicationpositiveresponse_greenhousev3_union.rb +27 -0
  40. data/lib/kombo/models/shared/postatsimporttrackedapplicationpositiveresponse_greenhousev3_union.rbi +11 -0
  41. data/lib/kombo/models/shared/postatsimporttrackedapplicationrequestbody.rb +6 -2
  42. data/lib/kombo/models/shared/postatsimporttrackedapplicationrequestbody.rbi +2 -0
  43. data/lib/kombo/models/shared/postatsimporttrackedapplicationrequestbody_greenhousev3_applicationid.rb +39 -0
  44. data/lib/kombo/models/shared/postatsimporttrackedapplicationrequestbody_greenhousev3_applicationid.rbi +15 -0
  45. data/lib/kombo/models/shared/postatsimporttrackedapplicationrequestbody_greenhousev3_union.rb +27 -0
  46. data/lib/kombo/models/shared/postatsimporttrackedapplicationrequestbody_greenhousev3_union.rbi +11 -0
  47. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_covetorest_candidate.rb +6 -2
  48. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_covetorest_candidate.rbi +2 -0
  49. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_greenhousev3.rb +36 -0
  50. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_greenhousev3.rbi +15 -0
  51. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +6 -2
  52. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +2 -0
  53. data/lib/kombo/models/shared/posthrisemployeesformrequestbody.rb +6 -2
  54. data/lib/kombo/models/shared/posthrisemployeesformrequestbody.rbi +2 -0
  55. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_remote_fields.rb +6 -2
  56. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_remote_fields.rbi +2 -0
  57. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_workday.rb +32 -0
  58. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_workday.rbi +13 -0
  59. data/lib/kombo/models/shared.rb +15 -1
  60. data/lib/kombo/sdkconfiguration.rb +2 -2
  61. metadata +32 -4
  62. data/lib/kombo/models/shared/visibility.rbi +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca92379b4364b2f0c874fd760be95e41e0c7eecb875a26deca984967375a9e5b
4
- data.tar.gz: 6ca24e6b0a4001aa1abe1cc3ce2810db6d8e1ae9a39f9f748f328c9aea9be322
3
+ metadata.gz: f7e7c1bb39f82aa036bef045d24460655cdea148819ba24c2293a67a189ed53d
4
+ data.tar.gz: f39d1aa4f5cf90de344b460a76d9ff93eb4e0e2619793646d74a3febd70f3db8
5
5
  SHA512:
6
- metadata.gz: 66cc19884096001a8b6243a312dcfac5e181dd1637ba6779cedf615b23814fb05380ea998543cab6885646482aedf082526f48d128666f957eaf28e3c728da90
7
- data.tar.gz: 7e3628a3d38e1f8c4f9c39703b0a4b697a925410e9ad7fcac2f9999840312d21665f4e7270c5c857026fbecbcb7be61271fbba85a84a639aae1be37ef69831ff
6
+ metadata.gz: b4f25f9957ed638c3a84fd251859a9588f18946b6a421f13553f34f834e024a2b9cdf34ba90da76a4e1a58332c9a248a20c6066749b9655be669f02be73d8749
7
+ data.tar.gz: 127f18762867242b07f79b6ea774915d3b15289644f1f5ac6c39573fe4adc6268345af42d53a4cdd1020fe03525b4bb5d6813f65e3770bfeaaaa42400235ece2
data/lib/kombo/general.rb CHANGED
@@ -321,8 +321,10 @@ module Kombo
321
321
  # |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.|
322
322
  # |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).|
323
323
  # |Cezanne HR|`cezannehr/dataservice`|[CezanneHR's v7 dataservice API](https://api.cezannehr.com/).We automatically authenticate all requests and use the base URL `https://subdomain.cezanneondemand.com/cezanneondemand/v7/dataservice.svc`|
324
+ # |Compleet (Persy)|`compleetpersy/api`|Compleet Persy [REST API](https://persy-api.refined.site/space/PAPI/450166808/Requirements+Jobfeed+%2F+Anforderungen+f%C3%BCr+Jobfeeds). We automatically authenticate all requests and use `https://www.germanpersonnel.de/persy/api/v1` as the base URL.|
324
325
  # |Compleet|`compleetpitcher/pitcher`|Compleet's Pitcher API. We automatically authenticate all requests and use the configured base URL.|
325
326
  # |Connexys By Bullhorn|`connexys/api`|[Connexy's API](https://api.conexsys.com/client/v2/docs/#section/Overview). We automatically authenticate all requests and use `https://\{connexys_domain\}/` as the base URL.|
327
+ # |Cornerstone OnDemand|`cornerstoneondemand/core-hr`|Cornerstone's [Core HR API](https://csod.dev/reference/core-hr/). We automatically authenticate all requests using the client ID and secret and use `https://\{your_domain\}.csod.com/services/api` as the base URL.|
326
328
  # |Cornerstone OnDemand|`cornerstoneondemand/learning`|Cornerstone's [Learning API](https://csod.dev/reference/learning/). We automatically authenticate all requests using the client ID and secret and use `https://\{your_domain\}.csod.com/services/api` as the base URL.|
327
329
  # |Cornerstone OnDemand|`cornerstoneondemand/recruiting`|Cornerstone's [Recruiting API](https://csod.dev/reference/recruiting/). We automatically authenticate all requests using the client ID and secret and use `https://\{your_domain\}.csod.com/services/api` as the base URL.|
328
330
  # |Cornerstone TalentLink|`cornerstonetalentlink/apply`|Cornerstone TalentLink's Apply API. We automatically authenticate all requests using the provided credentials and API key, and use `https://apiproxy.shared.lumessetalentlink.com/apply` as the base URL.|
@@ -355,10 +357,13 @@ module Kombo
355
357
  # |Gem|`gem/api`|Gem's [ATS API](https://api.gem.com/ats/v0/reference) We automatically authenticate all requests.|
356
358
  # |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.|
357
359
  # |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.|
360
+ # |Greenhouse (V1)|`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.|
361
+ # |Greenhouse (V1)|`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.|
358
362
  # |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/).|
359
363
  # |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.|
360
364
  # |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.|
361
365
  # |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.|
366
+ # |Greenhouse|`greenhouse/harvestv3`|We use `https://harvest.greenhouse.io/v3` as the base URL. Find the official docs [here](https://harvestdocs.greenhouse.io/reference/).|
362
367
  # |GuideCom|`guidecom/api`|GuideCom's API. We automatically authenticate all requests and use the configured API base URL.|
363
368
  # |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).|
364
369
  # |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.|
@@ -379,6 +384,7 @@ module Kombo
379
384
  # |Insperity|`insperity/api`|Insperity [APIs](https://developer.insperity.com/) We automatically authenticate all requests and use `https://api.insperity.com` as the base URL. For staging environments, we use `https://apistage.insperity.com`. Note that all requests require the company ID to be specified in the path or body.|
380
385
  # |IRIS Cascade|`iriscascade/v2`|IRIS Cascade HR [API](https://swagger.hrapi.co.uk/). We automatically authenticate all requests using the provided credentials and use `https://api.iris.co.uk/hr/v2` as the base URL.|
381
386
  # |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.|
387
+ # |JobAdder|`jobadder/api`|We use `https://api.jobadder.com/v2` as the base URL. Find the official docs [here](https://api.jobadder.com/v2/docs).|
382
388
  # |JobDiva|`jobdiva/api`|We automatically authenticate all requests and use `https://api.jobdiva.com` as the base URL.|
383
389
  # |Jobvite|`jobvite/api`|We automatically authenticate all requests and use 'https://api.jobvite.com/api/v2' as the base URL.|
384
390
  # |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).|
data/lib/kombo/hris.rb CHANGED
@@ -207,12 +207,13 @@ module Kombo
207
207
  end
208
208
 
209
209
 
210
- sig { params(integration_id: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetHrisEmployeesFormResponse) }
211
- def get_employee_form(integration_id: nil, timeout_ms: nil)
210
+ sig { params(integration_id: T.nilable(::String), staffing_entity_id: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetHrisEmployeesFormResponse) }
211
+ def get_employee_form(integration_id: nil, staffing_entity_id: nil, timeout_ms: nil)
212
212
  # get_employee_form - Get employee form
213
213
  # Get the form for creating an employee. This form can be rendered dynamically on your frontend to allow your customers to create employees in their HRIS.
214
214
  #
215
215
  # Follow our [create employee guide here](/hris/features/create-employee) to learn how this form is generated and how you can use it.
216
+ # The usage and impact of the staffing_entity_id parameter is described in the our [Create Employee Form with Staffing Entities guide](/hris/implementation-guide/staffing-entities-in-create-employee).
216
217
  #
217
218
  # ### Example Form
218
219
  # ```json
@@ -289,13 +290,15 @@ module Kombo
289
290
  # }
290
291
  # ```
291
292
  request = Models::Operations::GetHrisEmployeesFormRequest.new(
292
- integration_id: integration_id
293
+ integration_id: integration_id,
294
+ staffing_entity_id: staffing_entity_id
293
295
  )
294
296
  url, params = @sdk_configuration.get_server_details
295
297
  base_url = Utils.template_url(url, params)
296
298
  url = "#{base_url}/hris/employees/form"
297
299
  headers = Utils.get_headers(request, @sdk_configuration.globals)
298
300
  headers = T.cast(headers, T::Hash[String, String])
301
+ query_params = Utils.get_query_params(Models::Operations::GetHrisEmployeesFormRequest, request, nil, @sdk_configuration.globals)
299
302
  headers['Accept'] = 'application/json'
300
303
  headers['user-agent'] = @sdk_configuration.user_agent
301
304
 
@@ -323,6 +326,7 @@ module Kombo
323
326
  http_response = T.must(connection).get(url) do |req|
324
327
  req.headers.merge!(headers)
325
328
  req.options.timeout = timeout unless timeout.nil?
329
+ req.params = query_params
326
330
  Utils.configure_request_security(req, security)
327
331
 
328
332
  @sdk_configuration.hooks.before_request(
@@ -412,6 +416,7 @@ module Kombo
412
416
  #
413
417
  # ```json
414
418
  # {
419
+ # "staffing_entity_id": "26vafvWSRmbhNcxJYqjCzuJg",
415
420
  # "properties": {
416
421
  # "firstName": "John",
417
422
  # "startDate": "2025-01-01",
@@ -14,16 +14,20 @@ module Kombo
14
14
 
15
15
  # ID of the integration you want to interact with.
16
16
  field :integration_id, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Integration-Id', 'style': 'simple', 'explode': false } }
17
+ # GET /hris/employees/form Parameter
18
+ field :staffing_entity_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'staffing_entity_id', 'style': 'form', 'explode': true } }
17
19
 
18
- sig { params(integration_id: T.nilable(::String)).void }
19
- def initialize(integration_id: nil)
20
+ sig { params(integration_id: T.nilable(::String), staffing_entity_id: T.nilable(::String)).void }
21
+ def initialize(integration_id: nil, staffing_entity_id: nil)
20
22
  @integration_id = integration_id
23
+ @staffing_entity_id = staffing_entity_id
21
24
  end
22
25
 
23
26
  sig { params(other: T.untyped).returns(T::Boolean) }
24
27
  def ==(other)
25
28
  return false unless other.is_a? self.class
26
29
  return false unless @integration_id == other.integration_id
30
+ return false unless @staffing_entity_id == other.staffing_entity_id
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Kombo::Models::Operations::GetHrisEmployeesFormRequest
11
11
  def integration_id(); end
12
12
  def integration_id=(str_); end
13
+ def staffing_entity_id(); end
14
+ def staffing_entity_id=(str_); end
13
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
+ # References to the Candidate Assessment to be created or modified along with the data to be used in the creation or modification.
11
+ class AssessCandidateData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The data used to create or modify a Candidate Assessment.
16
+ field :candidate_assessment_data, Crystalline::Nilable.new(Models::Shared::CandidateAssessmentData), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Candidate_Assessment_Data') } }
17
+
18
+ sig { params(candidate_assessment_data: T.nilable(Models::Shared::CandidateAssessmentData)).void }
19
+ def initialize(candidate_assessment_data: nil)
20
+ @candidate_assessment_data = candidate_assessment_data
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 @candidate_assessment_data == other.candidate_assessment_data
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::AssessCandidateData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::AssessCandidateData
11
+ def candidate_assessment_data(); end
12
+ def candidate_assessment_data=(str_); end
13
+ 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
+ # Information on a set of Assessment Test Results used in concert with the Candidate Assessment.
11
+ class AssessCandidateTestResultData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A reference to the tenant supplied status for this Assessment Test Result. For example, if the test outcome was satisfactory or not.
16
+ field :assessment_test_status_reference, Crystalline::Nilable.new(Models::Shared::AssessmentTestStatusReference), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Assessment_Test_Status_Reference') } }
17
+
18
+ sig { params(assessment_test_status_reference: T.nilable(Models::Shared::AssessmentTestStatusReference)).void }
19
+ def initialize(assessment_test_status_reference: nil)
20
+ @assessment_test_status_reference = assessment_test_status_reference
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 @assessment_test_status_reference == other.assessment_test_status_reference
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::AssessCandidateTestResultData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::AssessCandidateTestResultData
11
+ def assessment_test_status_reference(); end
12
+ def assessment_test_status_reference=(str_); end
13
+ 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
+ # A reference to the tenant supplied status for this Assessment Test Result. For example, if the test outcome was satisfactory or not.
11
+ class AssessmentTestStatusReference
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :assessment_status_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Assessment_Status_ID'), required: true } }
17
+
18
+ sig { params(assessment_status_id: ::String).void }
19
+ def initialize(assessment_status_id:)
20
+ @assessment_status_id = assessment_status_id
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 @assessment_status_id == other.assessment_status_id
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::AssessmentTestStatusReference
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::AssessmentTestStatusReference
11
+ def assessment_status_id(); end
12
+ def assessment_status_id=(str_); end
13
+ 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
+ # The data used to create or modify a Candidate Assessment.
11
+ class CandidateAssessmentData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Information on a set of Assessment Test Results used in concert with the Candidate Assessment.
16
+ field :assess_candidate_test_result_data, Crystalline::Nilable.new(Models::Shared::AssessCandidateTestResultData), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('Assess_Candidate_Test_Result_Data') } }
17
+
18
+ sig { params(assess_candidate_test_result_data: T.nilable(Models::Shared::AssessCandidateTestResultData)).void }
19
+ def initialize(assess_candidate_test_result_data: nil)
20
+ @assess_candidate_test_result_data = assess_candidate_test_result_data
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 @assess_candidate_test_result_data == other.assess_candidate_test_result_data
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::CandidateAssessmentData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::CandidateAssessmentData
11
+ def assess_candidate_test_result_data(); end
12
+ def assess_candidate_test_result_data=(str_); end
13
+ end
@@ -98,7 +98,7 @@ module Kombo
98
98
  # *Note: For any checks (e.g., "can we publish this job?"), always evaluate both `status` and `visibility`.*
99
99
  #
100
100
  # In rare cases where we can’t find a clear mapping, the original string is passed through.
101
- field :visibility, Crystalline::Nilable.new(Models::Shared::Visibility), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('visibility'), 'decoder': Utils.enum_from_string(Models::Shared::Visibility, true) } }
101
+ field :visibility, Crystalline::Nilable.new(Models::Shared::GetAtsJobsPositiveResponseVisibility), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('visibility'), 'decoder': Utils.enum_from_string(Models::Shared::GetAtsJobsPositiveResponseVisibility, true) } }
102
102
  # Defines if the job supports remote work and if so, to what extent.
103
103
  field :remote_work_status, Crystalline::Nilable.new(Models::Shared::RemoteWorkStatus), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_work_status'), 'decoder': Utils.enum_from_string(Models::Shared::RemoteWorkStatus, true) } }
104
104
  # The period of time over which the salary amount is paid (not equal to the pay frequency). In rare cases where we can’t find a clear mapping, the original string is passed through.
@@ -106,7 +106,7 @@ module Kombo
106
106
  # The location of the listed job.
107
107
  field :location, Crystalline::Nilable.new(Models::Shared::GetAtsJobsPositiveResponseLocation), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('location') } }
108
108
 
109
- sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, stages: T::Array[Models::Shared::Stage], screening_questions: T::Array[Models::Shared::ScreeningQuestion], job_postings: T::Array[Models::Shared::JobPosting], hiring_team: T::Array[Models::Shared::GetAtsJobsPositiveResponseHiringTeam], name: T.nilable(::String), job_code: T.nilable(::String), description: T.nilable(::String), confidential: T.nilable(T::Boolean), weekly_hours: T.nilable(::Float), category: T.nilable(::String), department: T.nilable(::String), post_url: T.nilable(::String), experience_level: T.nilable(::String), salary_amount: T.nilable(::Float), salary_amount_from: T.nilable(::Float), salary_amount_to: T.nilable(::Float), salary_currency: T.nilable(::String), custom_fields: T.nilable(T::Hash[Symbol, ::Object]), remote_url: T.nilable(::String), opened_at: T.nilable(::DateTime), closed_at: T.nilable(::DateTime), remote_created_at: T.nilable(::DateTime), remote_updated_at: T.nilable(::DateTime), contact_id: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), employment_type: T.nilable(Models::Shared::GetAtsJobsPositiveResponseEmploymentType), status: T.nilable(Models::Shared::GetAtsJobsPositiveResponseStatus), visibility: T.nilable(Models::Shared::Visibility), remote_work_status: T.nilable(Models::Shared::RemoteWorkStatus), salary_period: T.nilable(Models::Shared::SalaryPeriod), location: T.nilable(Models::Shared::GetAtsJobsPositiveResponseLocation)).void }
109
+ sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, stages: T::Array[Models::Shared::Stage], screening_questions: T::Array[Models::Shared::ScreeningQuestion], job_postings: T::Array[Models::Shared::JobPosting], hiring_team: T::Array[Models::Shared::GetAtsJobsPositiveResponseHiringTeam], name: T.nilable(::String), job_code: T.nilable(::String), description: T.nilable(::String), confidential: T.nilable(T::Boolean), weekly_hours: T.nilable(::Float), category: T.nilable(::String), department: T.nilable(::String), post_url: T.nilable(::String), experience_level: T.nilable(::String), salary_amount: T.nilable(::Float), salary_amount_from: T.nilable(::Float), salary_amount_to: T.nilable(::Float), salary_currency: T.nilable(::String), custom_fields: T.nilable(T::Hash[Symbol, ::Object]), remote_url: T.nilable(::String), opened_at: T.nilable(::DateTime), closed_at: T.nilable(::DateTime), remote_created_at: T.nilable(::DateTime), remote_updated_at: T.nilable(::DateTime), contact_id: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime), employment_type: T.nilable(Models::Shared::GetAtsJobsPositiveResponseEmploymentType), status: T.nilable(Models::Shared::GetAtsJobsPositiveResponseStatus), visibility: T.nilable(Models::Shared::GetAtsJobsPositiveResponseVisibility), remote_work_status: T.nilable(Models::Shared::RemoteWorkStatus), salary_period: T.nilable(Models::Shared::SalaryPeriod), location: T.nilable(Models::Shared::GetAtsJobsPositiveResponseLocation)).void }
110
110
  def initialize(id:, remote_id:, changed_at:, stages:, screening_questions:, job_postings:, hiring_team:, name: nil, job_code: nil, description: nil, confidential: nil, weekly_hours: nil, category: nil, department: nil, post_url: nil, experience_level: nil, salary_amount: nil, salary_amount_from: nil, salary_amount_to: nil, salary_currency: nil, custom_fields: nil, remote_url: nil, opened_at: nil, closed_at: nil, remote_created_at: nil, remote_updated_at: nil, contact_id: nil, remote_deleted_at: nil, employment_type: nil, status: nil, visibility: nil, remote_work_status: nil, salary_period: nil, location: nil)
111
111
  @id = id
112
112
  @remote_id = remote_id
@@ -8,7 +8,7 @@ module Kombo
8
8
  module Models
9
9
  module Shared
10
10
 
11
- class Visibility < T::Enum
11
+ class GetAtsJobsPositiveResponseVisibility < T::Enum
12
12
 
13
13
 
14
14
  enums do
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetAtsJobsPositiveResponseVisibility
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetAtsJobsPositiveResponseVisibility
11
+ end
@@ -21,16 +21,19 @@ module Kombo
21
21
 
22
22
  field :greenhouse, Crystalline::Nilable.new(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseGreenhouseApplicationID), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhouse') } }
23
23
 
24
+ field :greenhousev3, Crystalline::Nilable.new(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseGreenhousev3ApplicationID), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhousev3') } }
25
+
24
26
  field :onlyfy, Crystalline::Nilable.new(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseOnlyfyApplicationID), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('onlyfy') } }
25
27
 
26
28
  field :smartrecruiters, Crystalline::Nilable.new(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseSmartrecruitersCandidateAndJobRemoteIds), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('smartrecruiters') } }
27
29
 
28
- sig { params(erecruiter: T.nilable(T.any(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseErecruiterApplicationAndJobRemoteIds, Models::Shared::PostAtsImportTrackedApplicationPositiveResponseErecruiterApplicationAndCandidateRemoteIds)), successfactors: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseSuccessfactorsApplicationRemoteID), recruitee: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseRecruiteePlacementID), greenhouse: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseGreenhouseApplicationID), onlyfy: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseOnlyfyApplicationID), smartrecruiters: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseSmartrecruitersCandidateAndJobRemoteIds)).void }
29
- def initialize(erecruiter: nil, successfactors: nil, recruitee: nil, greenhouse: nil, onlyfy: nil, smartrecruiters: nil)
30
+ sig { params(erecruiter: T.nilable(T.any(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseErecruiterApplicationAndJobRemoteIds, Models::Shared::PostAtsImportTrackedApplicationPositiveResponseErecruiterApplicationAndCandidateRemoteIds)), successfactors: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseSuccessfactorsApplicationRemoteID), recruitee: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseRecruiteePlacementID), greenhouse: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseGreenhouseApplicationID), greenhousev3: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseGreenhousev3ApplicationID), onlyfy: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseOnlyfyApplicationID), smartrecruiters: T.nilable(Models::Shared::PostAtsImportTrackedApplicationPositiveResponseSmartrecruitersCandidateAndJobRemoteIds)).void }
31
+ def initialize(erecruiter: nil, successfactors: nil, recruitee: nil, greenhouse: nil, greenhousev3: nil, onlyfy: nil, smartrecruiters: nil)
30
32
  @erecruiter = erecruiter
31
33
  @successfactors = successfactors
32
34
  @recruitee = recruitee
33
35
  @greenhouse = greenhouse
36
+ @greenhousev3 = greenhousev3
34
37
  @onlyfy = onlyfy
35
38
  @smartrecruiters = smartrecruiters
36
39
  end
@@ -42,6 +45,7 @@ module Kombo
42
45
  return false unless @successfactors == other.successfactors
43
46
  return false unless @recruitee == other.recruitee
44
47
  return false unless @greenhouse == other.greenhouse
48
+ return false unless @greenhousev3 == other.greenhousev3
45
49
  return false unless @onlyfy == other.onlyfy
46
50
  return false unless @smartrecruiters == other.smartrecruiters
47
51
  true
@@ -16,6 +16,8 @@ class Kombo::Models::Shared::ImportedId
16
16
  def recruitee=(str_); end
17
17
  def greenhouse(); end
18
18
  def greenhouse=(str_); end
19
+ def greenhousev3(); end
20
+ def greenhousev3=(str_); end
19
21
  def onlyfy(); end
20
22
  def onlyfy=(str_); end
21
23
  def smartrecruiters(); end
@@ -89,6 +89,7 @@ module Kombo
89
89
  HROFFICE = new('hroffice')
90
90
  TALENTCLUE = new('talentclue')
91
91
  INRECRUITING = new('inrecruiting')
92
+ JOBADDER = new('jobadder')
92
93
  UBEEO = new('ubeeo')
93
94
  CONNEXYS = new('connexys')
94
95
  HR4YOU = new('hr4you')
@@ -96,8 +97,9 @@ module Kombo
96
97
  ZVOOVERECRUIT = new('zvooverecruit')
97
98
  ODOO = new('odoo')
98
99
  COMEET = new('comeet')
99
- COMPLEET = new('compleet')
100
100
  COMPLEETPITCHER = new('compleetpitcher')
101
+ COMPLEETPERSY = new('compleetpersy')
102
+ COMPLEET = new('compleet')
101
103
  GEM = new('gem')
102
104
  LAURA = new('laura')
103
105
  COVETOREST = new('covetorest')
@@ -34,6 +34,7 @@ module Kombo
34
34
  REMOTE_RATE_LIMIT_EXCEEDED = new('REMOTE.RATE_LIMIT_EXCEEDED')
35
35
  REMOTE_INPUT_INVALID = new('REMOTE.INPUT_INVALID')
36
36
  REMOTE_UNKNOWN_HTTP_ERROR = new('REMOTE.UNKNOWN_HTTP_ERROR')
37
+ HRIS_STAFFING_ENTITY_CLOSED = new('HRIS.STAFFING_ENTITY_CLOSED')
37
38
  HRIS_EMPLOYEE_ALREADY_EXISTS = new('HRIS.EMPLOYEE_ALREADY_EXISTS')
38
39
  end
39
40
  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
+ # Greenhouse V3 specific remote fields for the note.
11
+ class PostAtsApplicationsApplicationIdNotesRequestBodyGreenhousev3
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Visibility of the created note.
16
+ field :visibility, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyVisibility), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('visibility'), 'decoder': Utils.enum_from_string(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyVisibility, true) } }
17
+
18
+ sig { params(visibility: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyVisibility)).void }
19
+ def initialize(visibility: nil)
20
+ @visibility = visibility
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 @visibility == other.visibility
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::PostAtsApplicationsApplicationIdNotesRequestBodyGreenhousev3
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyGreenhousev3
11
+ def visibility(); end
12
+ def visibility=(str_); end
13
+ end
@@ -16,6 +16,8 @@ module Kombo
16
16
  field :teamtailor, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyTeamtailor), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('teamtailor') } }
17
17
  # Fields specific to Greenhouse.
18
18
  field :greenhouse, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyGreenhouse), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhouse') } }
19
+ # Greenhouse V3 specific remote fields for the note.
20
+ field :greenhousev3, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyGreenhousev3), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('greenhousev3') } }
19
21
  # Recruitee specific remote fields for the note.
20
22
  field :recruitee, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRecruitee), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('recruitee') } }
21
23
  # Bullhorn specific remote fields for the note.
@@ -25,10 +27,11 @@ module Kombo
25
27
  # Workable specific remote fields for ATS actions.
26
28
  field :workable, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyWorkable), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workable') } }
27
29
 
28
- sig { params(teamtailor: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyTeamtailor), greenhouse: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyGreenhouse), recruitee: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRecruitee), bullhorn: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyBullhorn), lever: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyLever), workable: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyWorkable)).void }
29
- def initialize(teamtailor: nil, greenhouse: nil, recruitee: nil, bullhorn: nil, lever: nil, workable: nil)
30
+ sig { params(teamtailor: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyTeamtailor), greenhouse: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyGreenhouse), greenhousev3: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyGreenhousev3), recruitee: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRecruitee), bullhorn: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyBullhorn), lever: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyLever), workable: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyWorkable)).void }
31
+ def initialize(teamtailor: nil, greenhouse: nil, greenhousev3: nil, recruitee: nil, bullhorn: nil, lever: nil, workable: nil)
30
32
  @teamtailor = teamtailor
31
33
  @greenhouse = greenhouse
34
+ @greenhousev3 = greenhousev3
32
35
  @recruitee = recruitee
33
36
  @bullhorn = bullhorn
34
37
  @lever = lever
@@ -40,6 +43,7 @@ module Kombo
40
43
  return false unless other.is_a? self.class
41
44
  return false unless @teamtailor == other.teamtailor
42
45
  return false unless @greenhouse == other.greenhouse
46
+ return false unless @greenhousev3 == other.greenhousev3
43
47
  return false unless @recruitee == other.recruitee
44
48
  return false unless @bullhorn == other.bullhorn
45
49
  return false unless @lever == other.lever
@@ -12,6 +12,8 @@ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRem
12
12
  def teamtailor=(str_); end
13
13
  def greenhouse(); end
14
14
  def greenhouse=(str_); end
15
+ def greenhousev3(); end
16
+ def greenhousev3=(str_); end
15
17
  def recruitee(); end
16
18
  def recruitee=(str_); end
17
19
  def bullhorn(); end
@@ -0,0 +1,22 @@
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
+ # PostAtsApplicationsApplicationIdNotesRequestBodyVisibility - Visibility of the created note.
11
+ class PostAtsApplicationsApplicationIdNotesRequestBodyVisibility < T::Enum
12
+
13
+
14
+ enums do
15
+ ADMIN_ONLY = new('admin_only')
16
+ PRIVATE = new('private')
17
+ PUBLIC = new('public')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyVisibility
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyVisibility
11
+ 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
+ # Fields specific to Greenhouse V3.
11
+ class PostAtsApplicationsApplicationIdRejectRequestBodyGreenhousev3
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Additional data fields passed through to the `rejection_email` field of Greenhouse V3's reject-application endpoint.
16
+ field :rejection_email, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('rejection_email') } }
17
+
18
+ sig { params(rejection_email: T.nilable(T::Hash[Symbol, ::Object])).void }
19
+ def initialize(rejection_email: nil)
20
+ @rejection_email = rejection_email
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 @rejection_email == other.rejection_email
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::PostAtsApplicationsApplicationIdRejectRequestBodyGreenhousev3
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdRejectRequestBodyGreenhousev3
11
+ def rejection_email(); end
12
+ def rejection_email=(str_); end
13
+ end