kombo 1.0.4 → 1.0.6

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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +157 -1
  3. data/lib/kombo/general.rb +19 -6
  4. data/lib/kombo/hris.rb +165 -8
  5. data/lib/kombo/models/operations/getatsapplications_request.rb +9 -0
  6. data/lib/kombo/models/operations/getatsapplicationstages_request.rb +2 -0
  7. data/lib/kombo/models/operations/getatscandidates_request.rb +8 -0
  8. data/lib/kombo/models/operations/getatsinterviews_request.rb +8 -0
  9. data/lib/kombo/models/operations/getatsjobs_request.rb +11 -0
  10. data/lib/kombo/models/operations/getatsoffers_request.rb +6 -0
  11. data/lib/kombo/models/operations/getatsrejectionreasons_request.rb +2 -0
  12. data/lib/kombo/models/operations/getatsroles_request.rb +75 -0
  13. data/lib/kombo/models/operations/getatsroles_request.rbi +29 -0
  14. data/lib/kombo/models/operations/getatsroles_response.rb +56 -0
  15. data/lib/kombo/models/operations/getatsroles_response.rbi +19 -0
  16. data/lib/kombo/models/operations/getatstags_request.rb +2 -0
  17. data/lib/kombo/models/operations/getatsusers_request.rb +5 -0
  18. data/lib/kombo/models/operations/gethrisabsences_request.rb +4 -0
  19. data/lib/kombo/models/operations/gethrisabsencetypes_request.rb +2 -0
  20. data/lib/kombo/models/operations/gethrisemployeedocumentcategories_request.rb +2 -0
  21. data/lib/kombo/models/operations/gethrisemployees_request.rb +10 -0
  22. data/lib/kombo/models/operations/gethrisemployments_request.rb +2 -0
  23. data/lib/kombo/models/operations/gethrisgroups_request.rb +2 -0
  24. data/lib/kombo/models/operations/gethrislegalentities_request.rb +2 -0
  25. data/lib/kombo/models/operations/gethrislocations_request.rb +2 -0
  26. data/lib/kombo/models/operations/gethrisperformancereviewcycles_request.rb +2 -0
  27. data/lib/kombo/models/operations/gethrisperformancereviews_request.rb +6 -0
  28. data/lib/kombo/models/operations/gethrisstaffingentities_request.rb +85 -0
  29. data/lib/kombo/models/operations/gethrisstaffingentities_request.rbi +31 -0
  30. data/lib/kombo/models/operations/gethrisstaffingentities_response.rb +56 -0
  31. data/lib/kombo/models/operations/gethrisstaffingentities_response.rbi +19 -0
  32. data/lib/kombo/models/operations/gethristimeoffbalances_request.rb +4 -0
  33. data/lib/kombo/models/operations/gethristimesheets_request.rb +2 -0
  34. data/lib/kombo/models/operations.rb +4 -0
  35. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team.rb +6 -6
  36. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team.rbi +2 -2
  37. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_hiring_team_role.rb +3 -0
  38. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_job.rb +10 -2
  39. data/lib/kombo/models/shared/assessmentorderreceivedwebhookpayload_job.rbi +4 -0
  40. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team.rb +6 -6
  41. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team.rbi +2 -2
  42. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_hiring_team_role.rb +3 -0
  43. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_job.rb +10 -2
  44. data/lib/kombo/models/shared/getassessmentordersopenpositiveresponse_job.rbi +4 -0
  45. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team.rb +13 -3
  46. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team.rbi +2 -0
  47. data/lib/kombo/models/shared/getatsjobspositiveresponse_hiring_team_role.rb +3 -0
  48. data/lib/kombo/models/shared/getatsjobspositiveresponse_scope.rb +21 -0
  49. data/lib/kombo/models/shared/getatsjobspositiveresponse_scope.rbi +11 -0
  50. data/lib/kombo/models/shared/getatsjobspositiveresponse_unified_type.rb +25 -0
  51. data/lib/kombo/models/shared/getatsjobspositiveresponse_unified_type.rbi +11 -0
  52. data/lib/kombo/models/shared/getatsrolespositiveresponse.rb +39 -0
  53. data/lib/kombo/models/shared/getatsrolespositiveresponse.rbi +15 -0
  54. data/lib/kombo/models/shared/getatsrolespositiveresponse_data.rb +36 -0
  55. data/lib/kombo/models/shared/getatsrolespositiveresponse_data.rbi +15 -0
  56. data/lib/kombo/models/shared/getatsrolespositiveresponse_result.rb +58 -0
  57. data/lib/kombo/models/shared/getatsrolespositiveresponse_result.rbi +25 -0
  58. data/lib/kombo/models/shared/getatsrolespositiveresponse_scope.rb +21 -0
  59. data/lib/kombo/models/shared/getatsrolespositiveresponse_scope.rbi +11 -0
  60. data/lib/kombo/models/shared/getatsrolespositiveresponse_unified_type.rb +25 -0
  61. data/lib/kombo/models/shared/getatsrolespositiveresponse_unified_type.rbi +11 -0
  62. data/lib/kombo/models/shared/getatsuserspositiveresponse_result.rb +10 -2
  63. data/lib/kombo/models/shared/getatsuserspositiveresponse_result.rbi +2 -0
  64. data/lib/kombo/models/shared/getatsuserspositiveresponse_scope.rb +21 -0
  65. data/lib/kombo/models/shared/getatsuserspositiveresponse_scope.rbi +11 -0
  66. data/lib/kombo/models/shared/getatsuserspositiveresponse_unified_type.rb +25 -0
  67. data/lib/kombo/models/shared/getatsuserspositiveresponse_unified_type.rbi +11 -0
  68. data/lib/kombo/models/shared/{group.rb → gethrisemployeespositiveresponse_group.rb} +3 -3
  69. data/lib/kombo/models/shared/{group.rbi → gethrisemployeespositiveresponse_group.rbi} +2 -2
  70. data/lib/kombo/models/shared/{group_type.rb → gethrisemployeespositiveresponse_group_type.rb} +2 -2
  71. data/lib/kombo/models/shared/gethrisemployeespositiveresponse_group_type.rbi +11 -0
  72. data/lib/kombo/models/shared/{legal_entity.rb → gethrisemployeespositiveresponse_legal_entity.rb} +1 -1
  73. data/lib/kombo/models/shared/{legal_entity.rbi → gethrisemployeespositiveresponse_legal_entity.rbi} +2 -2
  74. data/lib/kombo/models/shared/gethrisemployeespositiveresponse_result.rb +3 -3
  75. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse.rb +39 -0
  76. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse.rbi +15 -0
  77. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_data.rb +36 -0
  78. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_data.rbi +15 -0
  79. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_employment_type.rb +36 -0
  80. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_employment_type.rbi +15 -0
  81. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_group.rb +44 -0
  82. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_group.rbi +19 -0
  83. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_legal_entity.rb +40 -0
  84. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_legal_entity.rbi +17 -0
  85. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_location.rb +44 -0
  86. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_location.rbi +19 -0
  87. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_result.rb +110 -0
  88. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_result.rbi +47 -0
  89. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_status.rb +31 -0
  90. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_status.rbi +11 -0
  91. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_type.rb +22 -0
  92. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_type.rbi +11 -0
  93. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_unified_type.rb +27 -0
  94. data/lib/kombo/models/shared/gethrisstaffingentitiespositiveresponse_unified_type.rbi +11 -0
  95. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team.rb +6 -6
  96. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team.rbi +2 -2
  97. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_hiring_team_role.rb +3 -0
  98. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_job.rb +10 -2
  99. data/lib/kombo/models/shared/inlineassessmentorderreceivedwebhookpayload_job.rbi +4 -0
  100. data/lib/kombo/models/shared/integration_tool.rb +4 -0
  101. data/lib/kombo/models/shared/job_role.rb +44 -0
  102. data/lib/kombo/models/shared/job_role.rbi +19 -0
  103. data/lib/kombo/models/shared/komboatserror_code.rb +1 -0
  104. data/lib/kombo/models/shared/kombogeneralerror_code.rb +1 -0
  105. data/lib/kombo/models/shared/kombohriserror_code.rb +1 -0
  106. data/lib/kombo/models/shared/model_type.rb +22 -0
  107. data/lib/kombo/models/shared/{group_type.rbi → model_type.rbi} +2 -2
  108. data/lib/kombo/models/shared/name.rb +7 -0
  109. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_lever.rb +32 -0
  110. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_lever.rbi +13 -0
  111. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rb +6 -2
  112. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rbi +2 -0
  113. data/lib/kombo/models/shared/postatscandidatesrequestbody_consent_decisions.rb +48 -0
  114. data/lib/kombo/models/shared/postatscandidatesrequestbody_consent_decisions.rbi +21 -0
  115. data/lib/kombo/models/shared/postatscandidatesrequestbody_dvinci.rb +6 -2
  116. data/lib/kombo/models/shared/postatscandidatesrequestbody_dvinci.rbi +2 -0
  117. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +6 -2
  118. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +2 -0
  119. data/lib/kombo/models/shared/postatscandidatesrequestbody_rexx.rb +32 -0
  120. data/lib/kombo/models/shared/postatscandidatesrequestbody_rexx.rbi +13 -0
  121. data/lib/kombo/models/shared/postatscandidatesrequestbody_smartrecruiters.rb +6 -2
  122. data/lib/kombo/models/shared/postatscandidatesrequestbody_smartrecruiters.rbi +2 -0
  123. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_consent_decisions.rb +48 -0
  124. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_consent_decisions.rbi +21 -0
  125. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_dvinci.rb +6 -2
  126. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_dvinci.rbi +2 -0
  127. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +6 -2
  128. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +2 -0
  129. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_rexx.rb +32 -0
  130. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_rexx.rbi +13 -0
  131. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_smartrecruiters.rb +6 -2
  132. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_smartrecruiters.rbi +2 -0
  133. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_recruitee.rb +32 -0
  134. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_recruitee.rbi +13 -0
  135. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_remote_fields.rb +6 -2
  136. data/lib/kombo/models/shared/putassessmentordersassessmentorderidresultrequestbody_remote_fields.rbi +2 -0
  137. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb +6 -2
  138. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi +2 -0
  139. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_workday.rb +36 -0
  140. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_workday.rbi +15 -0
  141. data/lib/kombo/models/shared/step_type.rb +21 -0
  142. data/lib/kombo/models/shared/step_type.rbi +11 -0
  143. data/lib/kombo/models/shared/system_role.rb +44 -0
  144. data/lib/kombo/models/shared/system_role.rbi +19 -0
  145. data/lib/kombo/models/shared.rb +33 -3
  146. data/lib/kombo/sdkconfiguration.rb +2 -2
  147. metadata +76 -8
@@ -0,0 +1,47 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseResult
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseResult
11
+ def id(); end
12
+ def id=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def changed_at(); end
16
+ def changed_at=(str_); end
17
+ def locations(); end
18
+ def locations=(str_); end
19
+ def legal_entities(); end
20
+ def legal_entities=(str_); end
21
+ def groups(); end
22
+ def groups=(str_); end
23
+ def name(); end
24
+ def name=(str_); end
25
+ def model_type(); end
26
+ def model_type=(str_); end
27
+ def description(); end
28
+ def description=(str_); end
29
+ def status(); end
30
+ def status=(str_); end
31
+ def employment_types(); end
32
+ def employment_types=(str_); end
33
+ def number_of_openings(); end
34
+ def number_of_openings=(str_); end
35
+ def parent_id(); end
36
+ def parent_id=(str_); end
37
+ def remote_url(); end
38
+ def remote_url=(str_); end
39
+ def remote_created_at(); end
40
+ def remote_created_at=(str_); end
41
+ def remote_updated_at(); end
42
+ def remote_updated_at=(str_); end
43
+ def remote_deleted_at(); end
44
+ def remote_deleted_at=(str_); end
45
+ def custom_fields(); end
46
+ def custom_fields=(str_); end
47
+ end
@@ -0,0 +1,31 @@
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
+ # GetHrisStaffingEntitiesPositiveResponseStatus - The status of the staffing entity.
11
+ # OPEN_LIMITED: The staffing entity is open and has a limited number of openings. Refer to the `number_of_openings` field to get the number of openings.
12
+ # OPEN_UNLIMITED: The staffing entity is open and has an unlimited number of openings. Some enterprise systems refer to this as "Evergreen".
13
+ # PENDING: The staffing entity is pending approval or is waiting to be published.
14
+ # FROZEN: The staffing entity is frozen (hiring freeze) and does not accept applications/hires.
15
+ # FILLED: The staffing entity is filled (to its maximum capacity) and not available for new hires.
16
+ # CLOSED: The staffing entity is closed and not available for new hires.
17
+ class GetHrisStaffingEntitiesPositiveResponseStatus < T::Enum
18
+
19
+
20
+ enums do
21
+ OPEN_LIMITED = new('OPEN_LIMITED')
22
+ OPEN_UNLIMITED = new('OPEN_UNLIMITED')
23
+ PENDING = new('PENDING')
24
+ FROZEN = new('FROZEN')
25
+ FILLED = new('FILLED')
26
+ CLOSED = new('CLOSED')
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseStatus
11
+ 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
+ # GetHrisStaffingEntitiesPositiveResponseType - Type of the group.
11
+ class GetHrisStaffingEntitiesPositiveResponseType < T::Enum
12
+
13
+
14
+ enums do
15
+ DEPARTMENT = new('DEPARTMENT')
16
+ TEAM = new('TEAM')
17
+ COST_CENTER = new('COST_CENTER')
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::GetHrisStaffingEntitiesPositiveResponseType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseType
11
+ end
@@ -0,0 +1,27 @@
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
+ # GetHrisStaffingEntitiesPositiveResponseUnifiedType - The unified type, how Kombo categorize this label.
11
+ class GetHrisStaffingEntitiesPositiveResponseUnifiedType < T::Enum
12
+
13
+
14
+ enums do
15
+ FULL_TIME = new('FULL_TIME')
16
+ PART_TIME = new('PART_TIME')
17
+ CONTRACT = new('CONTRACT')
18
+ INTERNSHIP = new('INTERNSHIP')
19
+ FREELANCE = new('FREELANCE')
20
+ WORKING_STUDENT = new('WORKING_STUDENT')
21
+ APPRENTICESHIP = new('APPRENTICESHIP')
22
+ TRAINING = new('TRAINING')
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseUnifiedType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisStaffingEntitiesPositiveResponseUnifiedType
11
+ end
@@ -12,10 +12,10 @@ module Kombo
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # The team member's identifier in the integrated system.
16
- field :remote_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
17
15
  # Array of the roles of the user for this specific job. Currently only `RECRUITER` and `HIRING_MANAGER` are mapped into our unified schema.
18
16
  field :hiring_team_roles, Crystalline::Array.new(Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadHiringTeamRole), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('hiring_team_roles'), required: true } }
17
+ # The team member's identifier in the integrated system.
18
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
19
  # The team member's email address.
20
20
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('email'), required: true } }
21
21
  # The team member's first name.
@@ -23,10 +23,10 @@ module Kombo
23
23
  # The team member's last name.
24
24
  field :last_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('last_name'), required: true } }
25
25
 
26
- sig { params(remote_id: ::String, hiring_team_roles: T::Array[Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadHiringTeamRole], email: T.nilable(::String), first_name: T.nilable(::String), last_name: T.nilable(::String)).void }
27
- def initialize(remote_id:, hiring_team_roles:, email: nil, first_name: nil, last_name: nil)
28
- @remote_id = remote_id
26
+ sig { params(hiring_team_roles: T::Array[Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadHiringTeamRole], remote_id: T.nilable(::String), email: T.nilable(::String), first_name: T.nilable(::String), last_name: T.nilable(::String)).void }
27
+ def initialize(hiring_team_roles:, remote_id: nil, email: nil, first_name: nil, last_name: nil)
29
28
  @hiring_team_roles = hiring_team_roles
29
+ @remote_id = remote_id
30
30
  @email = email
31
31
  @first_name = first_name
32
32
  @last_name = last_name
@@ -35,8 +35,8 @@ module Kombo
35
35
  sig { params(other: T.untyped).returns(T::Boolean) }
36
36
  def ==(other)
37
37
  return false unless other.is_a? self.class
38
- return false unless @remote_id == other.remote_id
39
38
  return false unless @hiring_team_roles == other.hiring_team_roles
39
+ return false unless @remote_id == other.remote_id
40
40
  return false unless @email == other.email
41
41
  return false unless @first_name == other.first_name
42
42
  return false unless @last_name == other.last_name
@@ -8,10 +8,10 @@ end
8
8
 
9
9
 
10
10
  class Kombo::Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadHiringTeam
11
- def remote_id(); end
12
- def remote_id=(str_); end
13
11
  def hiring_team_roles(); end
14
12
  def hiring_team_roles=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
15
  def email(); end
16
16
  def email=(str_); end
17
17
  def first_name(); end
@@ -14,6 +14,9 @@ module Kombo
14
14
  enums do
15
15
  RECRUITER = new('RECRUITER')
16
16
  HIRING_MANAGER = new('HIRING_MANAGER')
17
+ COORDINATOR = new('COORDINATOR')
18
+ SOURCER = new('SOURCER')
19
+ INTERVIEWER = new('INTERVIEWER')
17
20
  end
18
21
  end
19
22
  end
@@ -18,14 +18,20 @@ module Kombo
18
18
  field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id') } }
19
19
  # The job title.
20
20
  field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('name') } }
21
+ # The human readable job code. Some systems expose this as the Requisition Code/ID.
22
+ field :job_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('job_code') } }
23
+ # Description of the job. This field is usually returned as HTML.
24
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('description') } }
21
25
  # The job location information.
22
26
  field :location, Crystalline::Nilable.new(Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadLocation), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('location') } }
23
27
 
24
- sig { params(hiring_team: T::Array[Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadHiringTeam], remote_id: T.nilable(::String), name: T.nilable(::String), location: T.nilable(Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadLocation)).void }
25
- def initialize(hiring_team:, remote_id: nil, name: nil, location: nil)
28
+ sig { params(hiring_team: T::Array[Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadHiringTeam], remote_id: T.nilable(::String), name: T.nilable(::String), job_code: T.nilable(::String), description: T.nilable(::String), location: T.nilable(Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadLocation)).void }
29
+ def initialize(hiring_team:, remote_id: nil, name: nil, job_code: nil, description: nil, location: nil)
26
30
  @hiring_team = hiring_team
27
31
  @remote_id = remote_id
28
32
  @name = name
33
+ @job_code = job_code
34
+ @description = description
29
35
  @location = location
30
36
  end
31
37
 
@@ -35,6 +41,8 @@ module Kombo
35
41
  return false unless @hiring_team == other.hiring_team
36
42
  return false unless @remote_id == other.remote_id
37
43
  return false unless @name == other.name
44
+ return false unless @job_code == other.job_code
45
+ return false unless @description == other.description
38
46
  return false unless @location == other.location
39
47
  true
40
48
  end
@@ -14,6 +14,10 @@ class Kombo::Models::Shared::InlineAssessmentOrderReceivedWebhookPayloadJob
14
14
  def remote_id=(str_); end
15
15
  def name(); end
16
16
  def name=(str_); end
17
+ def job_code(); end
18
+ def job_code=(str_); end
19
+ def description(); end
20
+ def description=(str_); end
17
21
  def location(); end
18
22
  def location=(str_); end
19
23
  end
@@ -77,6 +77,7 @@ module Kombo
77
77
  PARADOX = new('paradox')
78
78
  HEYRECRUIT = new('heyrecruit')
79
79
  RECRUHR = new('recruhr')
80
+ RECRUITCRM = new('recruitcrm')
80
81
  JAZZHR = new('jazzhr')
81
82
  BITE = new('bite')
82
83
  HOMERUN = new('homerun')
@@ -106,6 +107,7 @@ module Kombo
106
107
  BREEZYHR = new('breezyhr')
107
108
  FLATCHR = new('flatchr')
108
109
  DAYFORCE = new('dayforce')
110
+ DIGITALRECRUITERS = new('digitalrecruiters')
109
111
  APPLICANTSTACK = new('applicantstack')
110
112
  REACHMEE = new('reachmee')
111
113
  TALENTADORE = new('talentadore')
@@ -154,6 +156,7 @@ module Kombo
154
156
  LATTICETALENT = new('latticetalent')
155
157
  HOORAYHR = new('hoorayhr')
156
158
  TRINET = new('trinet')
159
+ TRINETPEO = new('trinetpeo')
157
160
  NAMELY = new('namely')
158
161
  PAYCOM = new('paycom')
159
162
  INSPERITY = new('insperity')
@@ -190,6 +193,7 @@ module Kombo
190
193
  SFTP = new('sftp')
191
194
  SFTPFETCH = new('sftpfetch')
192
195
  THREE_HUNDRED_AND_SIXTYLEARNING = new('360learning')
196
+ TALENTLMS = new('talentlms')
193
197
  UDEMY = new('udemy')
194
198
  LINKEDINLEARNING = new('linkedinlearning')
195
199
  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 Shared
10
+
11
+ class JobRole
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
16
+ field :remote_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
17
+ # The label of the role.
18
+ field :remote_label, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_label'), required: true } }
19
+ # Whether the role applies globally or is scoped to a specific job.
20
+ field :scope, Crystalline::Nilable.new(Models::Shared::GetAtsJobsPositiveResponseScope), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('scope'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::GetAtsJobsPositiveResponseScope, false) } }
21
+ # Unified role type if Kombo can map it.
22
+ field :unified_type, Crystalline::Nilable.new(Models::Shared::GetAtsJobsPositiveResponseUnifiedType), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('unified_type'), required: true, 'decoder': Utils.enum_from_string(Models::Shared::GetAtsJobsPositiveResponseUnifiedType, false) } }
23
+
24
+ sig { params(remote_id: T.nilable(::String), remote_label: T.nilable(::String), scope: T.nilable(Models::Shared::GetAtsJobsPositiveResponseScope), unified_type: T.nilable(Models::Shared::GetAtsJobsPositiveResponseUnifiedType)).void }
25
+ def initialize(remote_id: nil, remote_label: nil, scope: nil, unified_type: nil)
26
+ @remote_id = remote_id
27
+ @remote_label = remote_label
28
+ @scope = scope
29
+ @unified_type = unified_type
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 @remote_id == other.remote_id
36
+ return false unless @remote_label == other.remote_label
37
+ return false unless @scope == other.scope
38
+ return false unless @unified_type == other.unified_type
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::Shared::JobRole
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::JobRole
11
+ def remote_id(); end
12
+ def remote_id=(str_); end
13
+ def remote_label(); end
14
+ def remote_label=(str_); end
15
+ def scope(); end
16
+ def scope=(str_); end
17
+ def unified_type(); end
18
+ def unified_type=(str_); end
19
+ end
@@ -13,6 +13,7 @@ module Kombo
13
13
 
14
14
  enums do
15
15
  PLATFORM_RATE_LIMIT_EXCEEDED = new('PLATFORM.RATE_LIMIT_EXCEEDED')
16
+ PLATFORM_CONCURRENCY_LIMIT_EXCEEDED = new('PLATFORM.CONCURRENCY_LIMIT_EXCEEDED')
16
17
  PLATFORM_INTEGRATION_NOT_FOUND = new('PLATFORM.INTEGRATION_NOT_FOUND')
17
18
  PLATFORM_INPUT_INVALID = new('PLATFORM.INPUT_INVALID')
18
19
  PLATFORM_UNKNOWN_ERROR = new('PLATFORM.UNKNOWN_ERROR')
@@ -13,6 +13,7 @@ module Kombo
13
13
 
14
14
  enums do
15
15
  PLATFORM_RATE_LIMIT_EXCEEDED = new('PLATFORM.RATE_LIMIT_EXCEEDED')
16
+ PLATFORM_CONCURRENCY_LIMIT_EXCEEDED = new('PLATFORM.CONCURRENCY_LIMIT_EXCEEDED')
16
17
  PLATFORM_INTEGRATION_NOT_FOUND = new('PLATFORM.INTEGRATION_NOT_FOUND')
17
18
  PLATFORM_INPUT_INVALID = new('PLATFORM.INPUT_INVALID')
18
19
  PLATFORM_UNKNOWN_ERROR = new('PLATFORM.UNKNOWN_ERROR')
@@ -13,6 +13,7 @@ module Kombo
13
13
 
14
14
  enums do
15
15
  PLATFORM_RATE_LIMIT_EXCEEDED = new('PLATFORM.RATE_LIMIT_EXCEEDED')
16
+ PLATFORM_CONCURRENCY_LIMIT_EXCEEDED = new('PLATFORM.CONCURRENCY_LIMIT_EXCEEDED')
16
17
  PLATFORM_INTEGRATION_NOT_FOUND = new('PLATFORM.INTEGRATION_NOT_FOUND')
17
18
  PLATFORM_INPUT_INVALID = new('PLATFORM.INPUT_INVALID')
18
19
  PLATFORM_UNKNOWN_ERROR = new('PLATFORM.UNKNOWN_ERROR')
@@ -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
+ # ModelType - The remote model type of the record. Possible values are "JOB", "POSITION" or "REQUISITION". We recommend that users of our `create employee` endpoint ask the customer whether they want to hire into positions or requisitions.
11
+ class ModelType < T::Enum
12
+
13
+
14
+ enums do
15
+ JOB = new('JOB')
16
+ POSITION = new('POSITION')
17
+ REQUISITION = new('REQUISITION')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -2,10 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Kombo::Models::Shared::GroupType
5
+ class Kombo::Models::Shared::ModelType
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Kombo::Models::Shared::GroupType
10
+ class Kombo::Models::Shared::ModelType
11
11
  end
@@ -24,6 +24,7 @@ module Kombo
24
24
  HRIS_EMPLOYEE_DOCUMENT_CATEGORIES = new('hris_employee_document_categories')
25
25
  HRIS_PERFORMANCE_REVIEWS = new('hris_performance_reviews')
26
26
  HRIS_PERFORMANCE_REVIEW_CYCLES = new('hris_performance_review_cycles')
27
+ HRIS_STAFFING_ENTITIES = new('hris_staffing_entities')
27
28
  ATS_USERS = new('ats_users')
28
29
  ATS_JOBS = new('ats_jobs')
29
30
  ATS_JOB_POSTINGS = new('ats_job_postings')
@@ -35,6 +36,7 @@ module Kombo
35
36
  ATS_INTERVIEWS = new('ats_interviews')
36
37
  ATS_OFFERS = new('ats_offers')
37
38
  ATS_REJECTION_REASONS = new('ats_rejection_reasons')
39
+ ATS_ROLES = new('ats_roles')
38
40
  LMS_USERS = new('lms_users')
39
41
  LMS_COURSE_PROVIDERS = new('lms_course_providers')
40
42
  LMS_SKILLS = new('lms_skills')
@@ -42,10 +44,15 @@ module Kombo
42
44
  LMS_COURSE_REVISIONS = new('lms_course_revisions')
43
45
  LMS_COURSE_PROGRESSIONS = new('lms_course_progressions')
44
46
  HRIS_JOIN_EMPLOYEES_TEAMS = new('hris_join_employees_teams')
47
+ HRIS_JOIN_STAFFING_ENTITIES_LOCATIONS = new('hris_join_staffing_entities_locations')
48
+ HRIS_JOIN_STAFFING_ENTITIES_LEGAL_ENTITIES = new('hris_join_staffing_entities_legal_entities')
49
+ HRIS_JOIN_STAFFING_ENTITIES_GROUPS = new('hris_join_staffing_entities_groups')
45
50
  ATS_JOIN_CANDIDATES_TAGS = new('ats_join_candidates_tags')
46
51
  ATS_JOIN_JOBS_APPLICATION_STAGES = new('ats_join_jobs_application_stages')
47
52
  ATS_JOIN_JOBS_SCREENING_QUESTIONS = new('ats_join_jobs_screening_questions')
53
+ ATS_JOIN_USER_JOB_ROLE_ASSIGNMENTS = new('ats_join_user_job_role_assignments')
48
54
  ATS_JOIN_JOBS_USERS = new('ats_join_jobs_users')
55
+ ATS_JOIN_USERS_ROLES = new('ats_join_users_roles')
49
56
  ATS_JOIN_INTERVIEWS_USERS = new('ats_join_interviews_users')
50
57
  LMS_JOIN_REVISIONS_SKILLS = new('lms_join_revisions_skills')
51
58
  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
+ # Lever specific remote fields for the note.
11
+ class PostAtsApplicationsApplicationIdNotesRequestBodyLever
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the Lever user that will show up as having created the note. If not provided, defaults to the user associated with the OAuth token.
16
+ field :perform_as, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('perform_as') } }
17
+
18
+ sig { params(perform_as: T.nilable(::String)).void }
19
+ def initialize(perform_as: nil)
20
+ @perform_as = perform_as
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 @perform_as == other.perform_as
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::PostAtsApplicationsApplicationIdNotesRequestBodyLever
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyLever
11
+ def perform_as(); end
12
+ def perform_as=(str_); end
13
+ end
@@ -20,15 +20,18 @@ module Kombo
20
20
  field :recruitee, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRecruitee), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('recruitee') } }
21
21
  # Bullhorn specific remote fields for the note.
22
22
  field :bullhorn, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyBullhorn), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('bullhorn') } }
23
+ # Lever specific remote fields for the note.
24
+ field :lever, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyLever), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('lever') } }
23
25
  # Workable specific remote fields for ATS actions.
24
26
  field :workable, Crystalline::Nilable.new(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyWorkable), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('workable') } }
25
27
 
26
- 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), workable: T.nilable(Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyWorkable)).void }
27
- def initialize(teamtailor: nil, greenhouse: nil, recruitee: nil, bullhorn: nil, workable: nil)
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)
28
30
  @teamtailor = teamtailor
29
31
  @greenhouse = greenhouse
30
32
  @recruitee = recruitee
31
33
  @bullhorn = bullhorn
34
+ @lever = lever
32
35
  @workable = workable
33
36
  end
34
37
 
@@ -39,6 +42,7 @@ module Kombo
39
42
  return false unless @greenhouse == other.greenhouse
40
43
  return false unless @recruitee == other.recruitee
41
44
  return false unless @bullhorn == other.bullhorn
45
+ return false unless @lever == other.lever
42
46
  return false unless @workable == other.workable
43
47
  true
44
48
  end
@@ -16,6 +16,8 @@ class Kombo::Models::Shared::PostAtsApplicationsApplicationIdNotesRequestBodyRem
16
16
  def recruitee=(str_); end
17
17
  def bullhorn(); end
18
18
  def bullhorn=(str_); end
19
+ def lever(); end
20
+ def lever=(str_); end
19
21
  def workable(); end
20
22
  def workable=(str_); end
21
23
  end
@@ -0,0 +1,48 @@
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 consent decisions for the candidate. SmartRecruiters supports two consent models: 'Single' (use the `SINGLE` key) and 'Separated' (use `SMART_RECRUIT`, `SMART_CRM`, `SMART_MESSAGE_SMS`, and/or `SMART_MESSAGE_WHATSAPP` keys). When this field is provided, it takes precedence over the `gdpr_consent` field for the `consentDecisions` property. See: https://developers.smartrecruiters.com/docs/partners-post-an-application
11
+ class PostAtsCandidatesRequestBodyConsentDecisions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :single, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SINGLE') } }
17
+
18
+ field :smart_recruit, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SMART_RECRUIT') } }
19
+
20
+ field :smart_crm, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SMART_CRM') } }
21
+
22
+ field :smart_message_sms, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SMART_MESSAGE_SMS') } }
23
+
24
+ field :smart_message_whatsapp, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('SMART_MESSAGE_WHATSAPP') } }
25
+
26
+ sig { params(single: T.nilable(T::Boolean), smart_recruit: T.nilable(T::Boolean), smart_crm: T.nilable(T::Boolean), smart_message_sms: T.nilable(T::Boolean), smart_message_whatsapp: T.nilable(T::Boolean)).void }
27
+ def initialize(single: nil, smart_recruit: nil, smart_crm: nil, smart_message_sms: nil, smart_message_whatsapp: nil)
28
+ @single = single
29
+ @smart_recruit = smart_recruit
30
+ @smart_crm = smart_crm
31
+ @smart_message_sms = smart_message_sms
32
+ @smart_message_whatsapp = smart_message_whatsapp
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @single == other.single
39
+ return false unless @smart_recruit == other.smart_recruit
40
+ return false unless @smart_crm == other.smart_crm
41
+ return false unless @smart_message_sms == other.smart_message_sms
42
+ return false unless @smart_message_whatsapp == other.smart_message_whatsapp
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyConsentDecisions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::PostAtsCandidatesRequestBodyConsentDecisions
11
+ def single(); end
12
+ def single=(str_); end
13
+ def smart_recruit(); end
14
+ def smart_recruit=(str_); end
15
+ def smart_crm(); end
16
+ def smart_crm=(str_); end
17
+ def smart_message_sms(); end
18
+ def smart_message_sms=(str_); end
19
+ def smart_message_whatsapp(); end
20
+ def smart_message_whatsapp=(str_); end
21
+ end