kombo 1.2.7 → 1.2.9

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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +325 -3
  3. data/lib/kombo/connect.rb +2 -1
  4. data/lib/kombo/general.rb +11 -1
  5. data/lib/kombo/hris.rb +322 -0
  6. data/lib/kombo/models/operations/getatsattachments_request.rb +74 -0
  7. data/lib/kombo/models/operations/getatsattachments_request.rbi +31 -0
  8. data/lib/kombo/models/operations/getatsattachments_response.rb +56 -0
  9. data/lib/kombo/models/operations/getatsattachments_response.rbi +19 -0
  10. data/lib/kombo/models/operations/getatsscorecards_request.rb +83 -0
  11. data/lib/kombo/models/operations/getatsscorecards_request.rbi +31 -0
  12. data/lib/kombo/models/operations/getatsscorecards_response.rb +56 -0
  13. data/lib/kombo/models/operations/getatsscorecards_response.rbi +19 -0
  14. data/lib/kombo/models/operations/gethrispayruns_request.rb +70 -0
  15. data/lib/kombo/models/operations/gethrispayruns_request.rbi +29 -0
  16. data/lib/kombo/models/operations/gethrispayruns_response.rb +56 -0
  17. data/lib/kombo/models/operations/gethrispayruns_response.rbi +19 -0
  18. data/lib/kombo/models/operations/gethrispayslips_request.rb +87 -0
  19. data/lib/kombo/models/operations/gethrispayslips_request.rbi +33 -0
  20. data/lib/kombo/models/operations/gethrispayslips_response.rb +56 -0
  21. data/lib/kombo/models/operations/gethrispayslips_response.rbi +19 -0
  22. data/lib/kombo/models/operations.rb +8 -0
  23. data/lib/kombo/models/shared/amount.rb +36 -0
  24. data/lib/kombo/models/shared/amount.rbi +15 -0
  25. data/lib/kombo/models/shared/change.rb +19 -0
  26. data/lib/kombo/models/shared/change.rbi +11 -0
  27. data/lib/kombo/models/shared/content_ref.rb +43 -0
  28. data/lib/kombo/models/shared/content_ref.rbi +17 -0
  29. data/lib/kombo/models/shared/employee.rb +57 -0
  30. data/lib/kombo/models/shared/employee.rbi +25 -0
  31. data/lib/kombo/models/shared/format_multiselect.rb +2 -2
  32. data/lib/kombo/models/shared/format_singleselect.rb +2 -2
  33. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rb +39 -0
  34. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rbi +15 -0
  35. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rb +36 -0
  36. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rbi +15 -0
  37. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rb +76 -0
  38. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rbi +33 -0
  39. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rb +20 -0
  40. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rbi +11 -0
  41. data/lib/kombo/models/shared/{option_2.rb → getatsjobspositiveresponse_option_1.rb} +1 -1
  42. data/lib/kombo/models/shared/{option_1.rbi → getatsjobspositiveresponse_option_1.rbi} +2 -2
  43. data/lib/kombo/models/shared/{option_1.rb → getatsjobspositiveresponse_option_2.rb} +1 -1
  44. data/lib/kombo/models/shared/getatsjobspositiveresponse_option_2.rbi +17 -0
  45. data/lib/kombo/models/shared/{author.rb → getatsnotespositiveresponse_author.rb} +1 -1
  46. data/lib/kombo/models/shared/{author.rbi → getatsnotespositiveresponse_author.rbi} +2 -2
  47. data/lib/kombo/models/shared/getatsnotespositiveresponse_result.rb +2 -2
  48. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rb +39 -0
  49. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rbi +15 -0
  50. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rb +36 -0
  51. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rbi +15 -0
  52. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rb +36 -0
  53. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rbi +15 -0
  54. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rb +48 -0
  55. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rbi +21 -0
  56. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rb +36 -0
  57. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rbi +15 -0
  58. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rb +36 -0
  59. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rbi +15 -0
  60. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rb +36 -0
  61. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rbi +15 -0
  62. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rb +80 -0
  63. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rbi +35 -0
  64. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rb +39 -0
  65. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rbi +15 -0
  66. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rb +36 -0
  67. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rbi +15 -0
  68. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rb +36 -0
  69. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rbi +15 -0
  70. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rb +36 -0
  71. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rbi +15 -0
  72. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rb +36 -0
  73. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rbi +15 -0
  74. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rb +62 -0
  75. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rbi +27 -0
  76. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rb +40 -0
  77. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rbi +17 -0
  78. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rb +39 -0
  79. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rbi +15 -0
  80. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rb +36 -0
  81. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rbi +15 -0
  82. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rb +36 -0
  83. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rbi +15 -0
  84. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rb +36 -0
  85. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rbi +15 -0
  86. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rb +36 -0
  87. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rbi +15 -0
  88. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rb +62 -0
  89. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rbi +27 -0
  90. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rb +40 -0
  91. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rbi +17 -0
  92. data/lib/kombo/models/shared/integration.rb +44 -0
  93. data/lib/kombo/models/shared/integration.rbi +19 -0
  94. data/lib/kombo/models/shared/integration_tool.rb +5 -0
  95. data/lib/kombo/models/shared/issue.rb +56 -0
  96. data/lib/kombo/models/shared/issue.rbi +25 -0
  97. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rb +40 -0
  98. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rbi +17 -0
  99. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rb +21 -0
  100. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rbi +11 -0
  101. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rb +40 -0
  102. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rbi +17 -0
  103. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rb +40 -0
  104. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rbi +17 -0
  105. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rb +19 -0
  106. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rbi +11 -0
  107. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rb +18 -0
  108. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rbi +11 -0
  109. data/lib/kombo/models/shared/line_item.rb +44 -0
  110. data/lib/kombo/models/shared/{option_2.rbi → line_item.rbi} +6 -4
  111. data/lib/kombo/models/shared/name.rb +6 -0
  112. data/lib/kombo/models/shared/pay_run.rb +48 -0
  113. data/lib/kombo/models/shared/pay_run.rbi +21 -0
  114. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rb +6 -2
  115. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_remote_fields.rbi +2 -0
  116. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_talent360.rb +32 -0
  117. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody_talent360.rbi +13 -0
  118. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rb +6 -2
  119. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rbi +2 -0
  120. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_talent360.rb +32 -0
  121. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_talent360.rbi +13 -0
  122. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rb +6 -2
  123. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rbi +2 -0
  124. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_talent360.rb +32 -0
  125. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_talent360.rbi +13 -0
  126. data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rb +32 -0
  127. data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rbi +13 -0
  128. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rb +6 -2
  129. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rbi +2 -0
  130. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rb +48 -0
  131. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rbi +21 -0
  132. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rb +32 -0
  133. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rbi +13 -0
  134. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +10 -2
  135. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +4 -0
  136. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rb +32 -0
  137. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rbi +13 -0
  138. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rb +6 -2
  139. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rbi +2 -0
  140. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rb +48 -0
  141. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rbi +21 -0
  142. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rb +32 -0
  143. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rbi +13 -0
  144. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +10 -2
  145. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +4 -0
  146. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rb +6 -2
  147. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rbi +2 -0
  148. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rb +6 -2
  149. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rbi +2 -0
  150. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody.rb +6 -2
  151. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody.rbi +2 -0
  152. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rb +32 -0
  153. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rbi +13 -0
  154. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rb +32 -0
  155. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rbi +13 -0
  156. data/lib/kombo/models/shared/response.rb +27 -0
  157. data/lib/kombo/models/shared/response.rbi +11 -0
  158. data/lib/kombo/models/shared/result_boolean.rb +55 -0
  159. data/lib/kombo/models/shared/result_boolean.rbi +23 -0
  160. data/lib/kombo/models/shared/result_date.rb +55 -0
  161. data/lib/kombo/models/shared/result_date.rbi +23 -0
  162. data/lib/kombo/models/shared/result_multiselect.rb +59 -0
  163. data/lib/kombo/models/shared/result_multiselect.rbi +25 -0
  164. data/lib/kombo/models/shared/result_number.rb +55 -0
  165. data/lib/kombo/models/shared/result_number.rbi +23 -0
  166. data/lib/kombo/models/shared/result_singleselect.rb +59 -0
  167. data/lib/kombo/models/shared/result_singleselect.rbi +25 -0
  168. data/lib/kombo/models/shared/result_text.rb +55 -0
  169. data/lib/kombo/models/shared/result_text.rbi +23 -0
  170. data/lib/kombo/models/shared.rb +61 -3
  171. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rb +36 -0
  172. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rbi +15 -0
  173. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rb +40 -0
  174. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rbi +17 -0
  175. data/lib/kombo/models/webhooks.rb +2 -0
  176. data/lib/kombo/sdkconfiguration.rb +5 -3
  177. data/lib/kombo/utils/utils.rb +6 -2
  178. metadata +144 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cc3c59026b0df49c7d2b81dd30c9c191cc0c900324e735a7f88c953ae2cc347
4
- data.tar.gz: 4fcea67cf79550cc5aaaea50fcc84deeb9d645d436e0dd8f65f0138ef0455aa4
3
+ metadata.gz: 0fe1f739bbc04ed61ad38bef2effdb2f3630cd08840e7b35724ac5ef51dc4a8f
4
+ data.tar.gz: d24c68855a6da134d09492e37b0403cd5945a98e622583438a728ad925ac2b9d
5
5
  SHA512:
6
- metadata.gz: dc234ce44c307a039445780cc37a4dd87b31eaf80a77d17baf6e418f6a758528642a76dfc25a3bbad9bfc849a41e2109c58932b9766c6441b89224444d9c529c
7
- data.tar.gz: 18ca8925da6b24f9151f630309e6ba2c62f98e62b7302bd0b1b5d3b056cfd34567827f8da1e3fb6d9dca86b049b8d52bc92e5a18ceb239b2db1658695ca21e73
6
+ metadata.gz: '054178bec2ff26b3beb0378e00ffec16122f77f1477421e64cdd7a5de71b798d6f3fe0fa6cef5de75c4698997bb69e61894e4bef4a50dc44956b13f21f2ebe4f'
7
+ data.tar.gz: 31edc1371125d0445d80e2e6c0f2d78f44398e28ec8b0bf2222a37f105a27825ad3c2ed93e3f1274db475833c9a43b6dff4ee7a702fc540451e5a3fe0f48efd2
data/lib/kombo/ats.rb CHANGED
@@ -3756,8 +3756,8 @@ module Kombo
3756
3756
 
3757
3757
 
3758
3758
  sig { params(integration_id: T.nilable(::String), cursor: T.nilable(::String), page_size: T.nilable(::Integer), updated_after: T.nilable(::DateTime), include_deleted: T.nilable(T::Boolean), ignore_unsupported_filters: T.nilable(T::Boolean), ids: T.nilable(T::Array[::String]), remote_ids: T.nilable(T::Array[::String]), candidate_ids: T.nilable(T::Array[::String]), application_ids: T.nilable(T::Array[::String]), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetAtsNotesResponse) }
3759
- def get_ats_notes(integration_id: nil, cursor: nil, page_size: nil, updated_after: nil, include_deleted: nil, ignore_unsupported_filters: nil, ids: nil, remote_ids: nil, candidate_ids: nil, application_ids: nil, timeout_ms: nil, http_headers: nil)
3760
- # get_ats_notes - Get notes
3759
+ def get_notes(integration_id: nil, cursor: nil, page_size: nil, updated_after: nil, include_deleted: nil, ignore_unsupported_filters: nil, ids: nil, remote_ids: nil, candidate_ids: nil, application_ids: nil, timeout_ms: nil, http_headers: nil)
3760
+ # get_notes - Get notes
3761
3761
  # Retrieve all notes.
3762
3762
  #
3763
3763
  # Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
@@ -3875,7 +3875,329 @@ module Kombo
3875
3875
  end
3876
3876
  end
3877
3877
 
3878
- sdk.get_ats_notes(
3878
+ sdk.get_notes(
3879
+ integration_id: request.integration_id,
3880
+ cursor: next_cursor,
3881
+ page_size: request.page_size,
3882
+ updated_after: request.updated_after,
3883
+ include_deleted: request.include_deleted,
3884
+ ignore_unsupported_filters: request.ignore_unsupported_filters,
3885
+ ids: request.ids,
3886
+ remote_ids: request.remote_ids,
3887
+ candidate_ids: request.candidate_ids,
3888
+ application_ids: request.application_ids,
3889
+ http_headers: http_headers
3890
+ )
3891
+ end
3892
+
3893
+
3894
+ return response
3895
+ else
3896
+ 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'
3897
+ end
3898
+ else
3899
+ if Utils.match_content_type(content_type, 'application/json')
3900
+ http_response = @sdk_configuration.hooks.after_success(
3901
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3902
+ hook_ctx: hook_ctx
3903
+ ),
3904
+ response: http_response
3905
+ )
3906
+ response_data = http_response.env.response_body
3907
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::KomboAtsError)
3908
+ obj.raw_response = http_response
3909
+ raise obj
3910
+ else
3911
+ 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'
3912
+ end
3913
+ end
3914
+ end
3915
+
3916
+
3917
+ sig { params(integration_id: T.nilable(::String), cursor: T.nilable(::String), page_size: T.nilable(::Integer), updated_after: T.nilable(::DateTime), include_deleted: T.nilable(T::Boolean), ignore_unsupported_filters: T.nilable(T::Boolean), ids: T.nilable(T::Array[::String]), remote_ids: T.nilable(T::Array[::String]), candidate_ids: T.nilable(T::Array[::String]), application_ids: T.nilable(T::Array[::String]), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetAtsScorecardsResponse) }
3918
+ def get_ats_scorecards(integration_id: nil, cursor: nil, page_size: nil, updated_after: nil, include_deleted: nil, ignore_unsupported_filters: nil, ids: nil, remote_ids: nil, candidate_ids: nil, application_ids: nil, timeout_ms: nil, http_headers: nil)
3919
+ # get_ats_scorecards - Get scorecards
3920
+ # Retrieve all scorecards.
3921
+ #
3922
+ # Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
3923
+ request = Models::Operations::GetAtsScorecardsRequest.new(
3924
+ integration_id: integration_id,
3925
+ cursor: cursor,
3926
+ page_size: page_size,
3927
+ updated_after: updated_after,
3928
+ include_deleted: include_deleted,
3929
+ ignore_unsupported_filters: ignore_unsupported_filters,
3930
+ ids: ids,
3931
+ remote_ids: remote_ids,
3932
+ candidate_ids: candidate_ids,
3933
+ application_ids: application_ids
3934
+ )
3935
+ url, params = @sdk_configuration.get_server_details
3936
+ base_url = Utils.template_url(url, params)
3937
+ url = "#{base_url}/ats/scorecards"
3938
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
3939
+ headers = T.cast(headers, T::Hash[String, String])
3940
+ query_params = Utils.get_query_params(Models::Operations::GetAtsScorecardsRequest, request, nil, @sdk_configuration.globals)
3941
+ headers['Accept'] = 'application/json'
3942
+ headers['user-agent'] = @sdk_configuration.user_agent
3943
+
3944
+ security = @sdk_configuration.security_source&.call
3945
+
3946
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
3947
+ timeout ||= @sdk_configuration.timeout
3948
+
3949
+
3950
+ connection = @sdk_configuration.client
3951
+
3952
+ hook_ctx = SDKHooks::HookContext.new(
3953
+ config: @sdk_configuration,
3954
+ base_url: base_url,
3955
+ oauth2_scopes: nil,
3956
+ operation_id: 'GetAtsScorecards',
3957
+ security_source: @sdk_configuration.security_source
3958
+ )
3959
+
3960
+ error = T.let(nil, T.nilable(StandardError))
3961
+ http_response = T.let(nil, T.nilable(Faraday::Response))
3962
+
3963
+
3964
+ begin
3965
+ http_response = T.must(connection).get(url) do |req|
3966
+ req.headers.merge!(headers)
3967
+ req.options.timeout = timeout unless timeout.nil?
3968
+ req.params = query_params
3969
+ Utils.configure_request_security(req, security)
3970
+ http_headers&.each do |key, value|
3971
+ req.headers[key.to_s] = value
3972
+ end
3973
+
3974
+ @sdk_configuration.hooks.before_request(
3975
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
3976
+ hook_ctx: hook_ctx
3977
+ ),
3978
+ request: req
3979
+ )
3980
+ end
3981
+ rescue StandardError => e
3982
+ error = e
3983
+ ensure
3984
+ if http_response.nil? || Utils.error_status?(http_response.status)
3985
+ http_response = @sdk_configuration.hooks.after_error(
3986
+ error: error,
3987
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
3988
+ hook_ctx: hook_ctx
3989
+ ),
3990
+ response: http_response
3991
+ )
3992
+ else
3993
+ http_response = @sdk_configuration.hooks.after_success(
3994
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
3995
+ hook_ctx: hook_ctx
3996
+ ),
3997
+ response: http_response
3998
+ )
3999
+ end
4000
+
4001
+ if http_response.nil?
4002
+ raise error if !error.nil?
4003
+ raise 'no response'
4004
+ end
4005
+ end
4006
+
4007
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
4008
+ if Utils.match_status_code(http_response.status, ['200'])
4009
+ if Utils.match_content_type(content_type, 'application/json')
4010
+ http_response = @sdk_configuration.hooks.after_success(
4011
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
4012
+ hook_ctx: hook_ctx
4013
+ ),
4014
+ response: http_response
4015
+ )
4016
+ response_data = http_response.env.response_body
4017
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::GetAtsScorecardsPositiveResponse)
4018
+ response = Models::Operations::GetAtsScorecardsResponse.new(
4019
+ status_code: http_response.status,
4020
+ content_type: content_type,
4021
+ raw_response: http_response,
4022
+ get_ats_scorecards_positive_response: T.unsafe(obj)
4023
+ )
4024
+ sdk = self
4025
+
4026
+ response.next_page = proc do
4027
+ next_cursor = Janeway.enum_for('$.data.next', JSON.parse(response_data)).search
4028
+ if next_cursor.nil?
4029
+ next nil
4030
+ else
4031
+ next_cursor = next_cursor[0]
4032
+ if next_cursor.nil?
4033
+ next nil
4034
+ end
4035
+ end
4036
+
4037
+ sdk.get_ats_scorecards(
4038
+ integration_id: request.integration_id,
4039
+ cursor: next_cursor,
4040
+ page_size: request.page_size,
4041
+ updated_after: request.updated_after,
4042
+ include_deleted: request.include_deleted,
4043
+ ignore_unsupported_filters: request.ignore_unsupported_filters,
4044
+ ids: request.ids,
4045
+ remote_ids: request.remote_ids,
4046
+ candidate_ids: request.candidate_ids,
4047
+ application_ids: request.application_ids,
4048
+ http_headers: http_headers
4049
+ )
4050
+ end
4051
+
4052
+
4053
+ return response
4054
+ else
4055
+ 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'
4056
+ end
4057
+ else
4058
+ if Utils.match_content_type(content_type, 'application/json')
4059
+ http_response = @sdk_configuration.hooks.after_success(
4060
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
4061
+ hook_ctx: hook_ctx
4062
+ ),
4063
+ response: http_response
4064
+ )
4065
+ response_data = http_response.env.response_body
4066
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::KomboAtsError)
4067
+ obj.raw_response = http_response
4068
+ raise obj
4069
+ else
4070
+ 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'
4071
+ end
4072
+ end
4073
+ end
4074
+
4075
+
4076
+ sig { params(integration_id: T.nilable(::String), cursor: T.nilable(::String), page_size: T.nilable(::Integer), updated_after: T.nilable(::DateTime), include_deleted: T.nilable(T::Boolean), ignore_unsupported_filters: T.nilable(T::Boolean), ids: T.nilable(T::Array[::String]), remote_ids: T.nilable(T::Array[::String]), candidate_ids: T.nilable(T::Array[::String]), application_ids: T.nilable(T::Array[::String]), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetAtsAttachmentsResponse) }
4077
+ def get_ats_attachments(integration_id: nil, cursor: nil, page_size: nil, updated_after: nil, include_deleted: nil, ignore_unsupported_filters: nil, ids: nil, remote_ids: nil, candidate_ids: nil, application_ids: nil, timeout_ms: nil, http_headers: nil)
4078
+ # get_ats_attachments - Get attachments
4079
+ # Retrieve all attachments.
4080
+ #
4081
+ # These attachments are already synced, so this endpoint never calls the ATS and the files sit in the destination you configured.
4082
+ #
4083
+ # The on-demand alternatives call the ATS and return a `data_url` we host: [get candidate attachments](/ats/v1/get-candidates-candidate-id-attachments) for every file of one candidate, [get application attachments](/ats/v1/get-applications-application-id-attachments) for the files of one application.
4084
+ #
4085
+ # Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`
4086
+ request = Models::Operations::GetAtsAttachmentsRequest.new(
4087
+ integration_id: integration_id,
4088
+ cursor: cursor,
4089
+ page_size: page_size,
4090
+ updated_after: updated_after,
4091
+ include_deleted: include_deleted,
4092
+ ignore_unsupported_filters: ignore_unsupported_filters,
4093
+ ids: ids,
4094
+ remote_ids: remote_ids,
4095
+ candidate_ids: candidate_ids,
4096
+ application_ids: application_ids
4097
+ )
4098
+ url, params = @sdk_configuration.get_server_details
4099
+ base_url = Utils.template_url(url, params)
4100
+ url = "#{base_url}/ats/attachments"
4101
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
4102
+ headers = T.cast(headers, T::Hash[String, String])
4103
+ query_params = Utils.get_query_params(Models::Operations::GetAtsAttachmentsRequest, request, nil, @sdk_configuration.globals)
4104
+ headers['Accept'] = 'application/json'
4105
+ headers['user-agent'] = @sdk_configuration.user_agent
4106
+
4107
+ security = @sdk_configuration.security_source&.call
4108
+
4109
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
4110
+ timeout ||= @sdk_configuration.timeout
4111
+
4112
+
4113
+ connection = @sdk_configuration.client
4114
+
4115
+ hook_ctx = SDKHooks::HookContext.new(
4116
+ config: @sdk_configuration,
4117
+ base_url: base_url,
4118
+ oauth2_scopes: nil,
4119
+ operation_id: 'GetAtsAttachments',
4120
+ security_source: @sdk_configuration.security_source
4121
+ )
4122
+
4123
+ error = T.let(nil, T.nilable(StandardError))
4124
+ http_response = T.let(nil, T.nilable(Faraday::Response))
4125
+
4126
+
4127
+ begin
4128
+ http_response = T.must(connection).get(url) do |req|
4129
+ req.headers.merge!(headers)
4130
+ req.options.timeout = timeout unless timeout.nil?
4131
+ req.params = query_params
4132
+ Utils.configure_request_security(req, security)
4133
+ http_headers&.each do |key, value|
4134
+ req.headers[key.to_s] = value
4135
+ end
4136
+
4137
+ @sdk_configuration.hooks.before_request(
4138
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
4139
+ hook_ctx: hook_ctx
4140
+ ),
4141
+ request: req
4142
+ )
4143
+ end
4144
+ rescue StandardError => e
4145
+ error = e
4146
+ ensure
4147
+ if http_response.nil? || Utils.error_status?(http_response.status)
4148
+ http_response = @sdk_configuration.hooks.after_error(
4149
+ error: error,
4150
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
4151
+ hook_ctx: hook_ctx
4152
+ ),
4153
+ response: http_response
4154
+ )
4155
+ else
4156
+ http_response = @sdk_configuration.hooks.after_success(
4157
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
4158
+ hook_ctx: hook_ctx
4159
+ ),
4160
+ response: http_response
4161
+ )
4162
+ end
4163
+
4164
+ if http_response.nil?
4165
+ raise error if !error.nil?
4166
+ raise 'no response'
4167
+ end
4168
+ end
4169
+
4170
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
4171
+ if Utils.match_status_code(http_response.status, ['200'])
4172
+ if Utils.match_content_type(content_type, 'application/json')
4173
+ http_response = @sdk_configuration.hooks.after_success(
4174
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
4175
+ hook_ctx: hook_ctx
4176
+ ),
4177
+ response: http_response
4178
+ )
4179
+ response_data = http_response.env.response_body
4180
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Shared::GetAtsAttachmentsPositiveResponse)
4181
+ response = Models::Operations::GetAtsAttachmentsResponse.new(
4182
+ status_code: http_response.status,
4183
+ content_type: content_type,
4184
+ raw_response: http_response,
4185
+ get_ats_attachments_positive_response: T.unsafe(obj)
4186
+ )
4187
+ sdk = self
4188
+
4189
+ response.next_page = proc do
4190
+ next_cursor = Janeway.enum_for('$.data.next', JSON.parse(response_data)).search
4191
+ if next_cursor.nil?
4192
+ next nil
4193
+ else
4194
+ next_cursor = next_cursor[0]
4195
+ if next_cursor.nil?
4196
+ next nil
4197
+ end
4198
+ end
4199
+
4200
+ sdk.get_ats_attachments(
3879
4201
  integration_id: request.integration_id,
3880
4202
  cursor: next_cursor,
3881
4203
  page_size: request.page_size,
data/lib/kombo/connect.rb CHANGED
@@ -60,7 +60,8 @@ module Kombo
60
60
  # "integration_tool": "personio",
61
61
  # "end_user_origin_id": "123",
62
62
  # "language": "en",
63
- # "link_type": "EMBEDDED"
63
+ # "link_type": "EMBEDDED",
64
+ # "enable_static_ips": true
64
65
  # }
65
66
  # ```
66
67
  url, params = @sdk_configuration.get_server_details
data/lib/kombo/general.rb CHANGED
@@ -316,6 +316,7 @@ module Kombo
316
316
  # |Apploi|`apploi/rest-api`|The [Apploi API](https://integrate.apploi.com/). We automatically authenticate all requests and use `https://partners.apploi.com/` as the base URL.|
317
317
  # |Ashby|`ashby/v1`|Ashby's [V1 API](https://developers.ashbyhq.com/reference/introduction). We automatically authenticate all requests with the provided credentials and use `https://api.ashbyhq.com` as the base URL. Please note that Ashby uses an RPC-style API. Please check [the Ashby API documentation](https://developers.ashbyhq.com/reference/introduction) for details on how to use it.|
318
318
  # |Asymbl|`asymbl/v63`|We use `https://\{subdomain\}.my.salesforce.com` as the base URL. Find the official docs [here](https://asymblinc.github.io/ats/ats.html).|
319
+ # |Atlas|`atlas/v1`|We use `https://api.recruitwithatlas.com/api/v1/` as the base URL. Find the official docs [here](https://api.recruitwithatlas.com/api/v1/docs/).|
319
320
  # |Avature|`avature/custom-api`|Avatures's Custom API. Call `Get /openapi` to retrieve the specific custom API schema. We automatically authenticate all requests and use the instance specific custom API URL as the base URL.|
320
321
  # |Avionté|`avionte/front-office-v1`|Avionte's API. We automatically authenticate all requests and use `https://api.avionte.com/front-office/v1` as the base URL. Documentation for the BOLD Front Office API: https://developer.avionte.com/reference/get-all-talent-tags|
321
322
  # |BambooHR|`bamboohr/v1`|BambooHR's [API](https://documentation.bamboohr.com/reference/get-employee). We automatically authenticate all requests using the customer credentials `https://api.bamboohr.com/api/gateway.php/\{subdomain\}/v1` as the base URL.|
@@ -359,6 +360,7 @@ module Kombo
359
360
  # |Docebo|`docebo/api`|Docebo [API](https://developer.docebo.com). We automatically handle authentication and use `https://\{subdomain\}.docebosaas.com` as the base URL.|
360
361
  # |Eightfold|`eightfold/api`|Eightfold's [API](https://apidocs.eightfold.ai/). We automatically authenticate all requests and use `https://apiv2.\{region\}/api/v2/core/` as the base URL.|
361
362
  # |Employment Hero|`employmenthero/default`|EmploymentHero [API](https://developer.employmenthero.com/api-references/#icon-book-open-introduction). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.employmenthero.com/api` as the base URL.|
363
+ # |Emply People|`emplypeople/v2`|We use `https://api.emply.com/v2` as the base URL. Find the official docs [here](https://api.emply.com/v2/index.html).|
362
364
  # |Eploy|`eploy/api`|Eploy's [API](https://www.eploy.com/resources/developers/api-documentation/). We automatically authenticate all requests. The base URL is `https://\{hostname\}/api`, where `\{hostname\}` is either `\{subdomain\}.eploy.net` or your full custom hostname when applicable.|
363
365
  # |eRecruiter|`erecruiter/api`|[eRecruiter's API](https://api.erecruiter.net/swagger/ui/index). We automatically authenticate all requests and use `https://\{domain\}/Api` as the base URL.|
364
366
  # |Eurécia|`eurecia/api`|Eurécia [REST API](https://api.eurecia.com/eurecia/fw/swagger/index.html#/) We automatically authenticate all requests and use `https://\{domain\}/eurecia/rest` as the base URL.|
@@ -372,6 +374,7 @@ module Kombo
372
374
  # |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.|
373
375
  # |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.|
374
376
  # |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.|
377
+ # |Greenhouse (V3)|`greenhousev3/auth`|We use `https://auth.greenhouse.io` as the base URL. Find the official docs [here](https://harvestdocs.greenhouse.io/docs/harvest-partner-oauth).|
375
378
  # |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/).|
376
379
  # |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.|
377
380
  # |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.|
@@ -390,6 +393,7 @@ module Kombo
390
393
  # |HoorayHR|`hoorayhr/api`|[HoorayHR API](https://api.hoorayhr.io/documentation/). We automatically authenticate all requests and use `https://api.hoorayhr.io` as the base URL.|
391
394
  # |HR Office|`hroffice/soap`|[HROffice SOAP API](https://api.hroffice.nl/HROfficeCoreService.asmx). We automatically authenticate all requests and wrap them in a SOAP envelope. Build the request `Body` with the raw XML parameters for your operation (e.g., `\<languageId\>1\</languageId\>`). Use `/` as your `path`. Set your `method` to `POST`. You need to specify the `api_options` object and set `operation_name` to the SOAP operation you want to call (e.g., `GetAllJobByLanguage`).|
392
395
  # |HR WORKS|`hrworks/v2`|HRWorks's v2 [API](https://developers.hrworks.de/2.0/endpoints). We automatically authenticate all requests using the customer credentials.|
396
+ # |HR WORKS|`hrworks/v3`|HRWorks's v3 [API](https://developers.hrworks.de/), which covers wage and salary data. We automatically authenticate all requests using the customer credentials.|
393
397
  # |HR4YOU|`hr4you/v2`|[HR4YOU's v2 API](https://apiprodemo.hr4you.org/api2/docs). We automatically authenticate all requests and use the customers provided base URL (e.g. `https://your-company.hr4you.org/` or a custom domain).|
394
398
  # |Humaans|`humaans/api`|Humaans' [API](https://docs.humaans.io/api/). We automatically authenticate all requests using the API key and use `https://app.humaans.io/api` as the base URL.|
395
399
  # |iCIMS|`icims/default`|[iCIMS Default API](https://developer-community.icims.com/). We automatically authenticate all requests and use `https://api.icims.com/customers/\{customer_id\}` as the base url.|
@@ -428,7 +432,7 @@ module Kombo
428
432
  # |Microsoft Entra ID|`entraid/v1`|[AzureAD's API](https://learn.microsoft.com/en-us/graph/api/resources/identity-network-access-overview?view=graph-rest-1.0). We automatically authenticate all requests.|
429
433
  # |Moodle|`moodle/rest`|Moodle REST Web Services API. All calls go to `/webservice/rest/server.php` with `wsfunction` and `wstoken` parameters. We automatically handle authentication and use `\{site_url\}/webservice/rest/server.php` as the base URL. |
430
434
  # |Mysolution|`mysolution/default`|[Mysolution's API](https://swagger.mysolution.nl/). We automatically authenticate all requests and use the customer's domain as base URL.|
431
- # |Nmbrs|`nmbrs/soap`|[Nmbrs SOAP API](https://api.nmbrs.nl/soap/v3/). We automatically authenticate all requests and use `https://api.nmbrs.nl/soap/v3/` as the base URL. Set `data` to your raw XML string (the content that will be placed inside the `\<soap:Body\>` tag). Use `/` as your `path`, as we will always send requests to `https://api.nmbrs.nl/soap/v3/\{service_name\}.asmx`. Set your `method` to `POST`. You need to specify the `api_options` object and set `service_name` to the name of the service you want to call. Available services include `EmployeeService` and `CompanyService`.|
435
+ # |Nmbrs|`nmbrs/soap`|[Nmbrs SOAP API](https://api.nmbrs.nl/soap/v3/). We automatically authenticate all requests and use `https://api.nmbrs.nl/soap/v3/` as the base URL. Set `data` to your raw XML string (the content that will be placed inside the `\<soap:Body\>` tag). Use `/` as your `path`, as we will always send requests to `https://api.nmbrs.nl/soap/v3/\{service_name\}.asmx`. Set your `method` to `POST`. You need to specify the `api_options` object and set `service_name` to the name of the service you want to call. Available services include `EmployeeService`, `CompanyService`, and `DebtorService`.|
432
436
  # |Odoo|`odoo/json2`|Odoo's [JSON-2 API](https://www.odoo.com/documentation/19.0/developer/reference/external_api.html). We automatically authenticate all requests and use `https://\{domain\}.odoo.com/json/2` as the base URL. Odoo JSON-2 requests are always `POST` requests and use paths like `/\{model\}/\{method\}` (e.g. `/res.partner/search_read`).|
433
437
  # |Okta|`okta/v1`|[Okta's API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/ApiServiceIntegrations/). We automatically authenticate all request ans use 'https://\<your-okta-domain\>/api/v1' as the base URL.|
434
438
  # |Onlyfy|`onlyfy/v1`|Onlyfy's [Public v1 REST API](https://onlyfy.io/doc/v1#section/Introduction). We automatically authenticate all requests using the `apikey` header and use `https://api.prescreenapp.io/v1` as the base URL.|
@@ -458,6 +462,7 @@ module Kombo
458
462
  # |Phenom|`phenom/rest-api`|The [Phenom API](https://developer.phenom.com/). We automatically authenticate all requests and use `https://api-stg.phenompro.com` as the base URL.|
459
463
  # |Pinpoint|`pinpoint/v1`|Pinpoint's [JSON:API](https://developers.pinpointhq.com/docs). We automatically authenticate all requests using the `X-API-KEY` header and use `https://\{subdomain\}.pinpointhq.com/api/v1` as the base URL.|
460
464
  # |Planday|`planday/api`|Planday's [HR API v1.0](https://openapi.planday.com/api/hr?version=v1.0). We automatically authenticate all requests and use `https://openapi.planday.com` as the base URL.|
465
+ # |ReachMee|`reachmee/reachmee`|[ReachMee API](https://developer.talentech.io/api-details#api=reachmee-api). We automatically authenticate all requests and use `https://api.talentech.io/reachmee/` as the base URL.|
461
466
  # |Recruit CRM|`recruitcrm/api`|We use `https://api.recruitcrm.io` as the base URL. Find the official docs [here](https://docs.recruitcrm.io/docs/rcrm-api-reference/ZG9jOjMyNzk0NA-getting-started).|
462
467
  # |RecruiterFlow|`recruiterflow/v1`|RecruiterFlow API [docs](https://docs.recruiterflow.com/). We automatically authenticate all requests using the RF-Api-Key header and use `https://api.recruiterflow.com` as the base URL.|
463
468
  # |Remote|`remotecom/default`|Remote's [API](https://remote.com/resources/api/getting-started). We automatically authenticate all requests using provided credentials. The base URL is `https://gateway.remote.com/v1` for production API keys (prefixed `ra_live_`), or `https://gateway.remote-sandbox.com/v1` for sandbox API keys.|
@@ -470,6 +475,9 @@ module Kombo
470
475
  # |SD Worx|`sdworx/default`|SD Worx's [OData API](https://apistaging.cobra.sdworx.com/Resources). We automatically authenticate all requests using the client ID and secret and use `\{api_url\}` as the base URL.|
471
476
  # |Silae|`silae/rest`|[Silae's REST API](https://silae-api.document360.io/docs). We automatically authenticate all requests and use 'https://payroll-api.silae.fr/payroll' as the base URL.|
472
477
  # |Simployer|`simployer/v1`|[AlexisHR's v1 API](https://docs.alexishr.com/) We automatically authenticate all requests and use `https://\{subdomain\}.alexishr.com` as base URL.|
478
+ # |Skello|`skello/svcemployees`|Skello's [Service Employees API](https://swagger.skello.io/?urls.primaryName=Public%20SvcEmployees%20Docs). We automatically authenticate all requests and use `https://svc-employees.skello.io` as the base URL. We also fill in the required `organisationId` query param, which is derived from your API key.|
479
+ # |Skello|`skello/svcpunch`|Skello's [Service Punch API](https://swagger.skello.io/?urls.primaryName=Public%20SvcPunch%20Docs). We automatically authenticate all requests and use `https://svc-punch.skello.io` as the base URL.|
480
+ # |Skello|`skello/svcshops`|Skello's [Service Shops API](https://swagger.skello.io/?urls.primaryName=Public%20SvcShops%20Docs). We automatically authenticate all requests and use `https://svc-shops.skello.io` as the base URL. We also fill in the required `organisationId` query param, which is derived from your API key.|
473
481
  # |SmartRecruiters|`smartrecruiters/default`|Smartrecruiters [API](https://developers.smartrecruiters.com/reference/apply-api). We automatically authenticate all requests using OAuth and use `https://api.smartrecruiters.com` as the base URL.|
474
482
  # |SmartRecruiters|`smartrecruiters/default`|Smartrecruiters [API](https://developers.smartrecruiters.com/reference/apply-api). We automatically authenticate all requests using the credentials supplied by the customer and use `https://api.smartrecruiters.com` as the base URL.|
475
483
  # |Softgarden|`softgarden/apply-api`|[Softgarden's Apply API](https://dev.softgarden.de/apply-api/). We automatically authenticate all requests and use 'https://jobdb.softgarden.de/jobdb/public' as base URL.|
@@ -478,6 +486,7 @@ module Kombo
478
486
  # |Spott|`spott/protected`|The [Spott API](https://docs.gospott.com). We automatically authenticate all requests and use `https://api.gospott.com` as the base URL.|
479
487
  # |Sympa|`sympa/api`|Sympa's [API](https://documenter.getpostman.com/view/33639379/2sA3kXG1vX#intro). We automatically authenticate all requests and use `https://api.sympahr.net/api/` as the base URL.|
480
488
  # |Taleez|`taleez/0`|[Taleez's API](https://api.taleez.com/swagger-ui/index.html). We automatically authenticate all requests and use `https://api.taleez.com/0` as the base URL.|
489
+ # |Talent360|`talent360/v3`|We use `https://api.talent360.io/V3` as the base URL. Find the official docs [here](https://api-doc.talent360.io/).|
481
490
  # |Talention|`talention/v1`|Talention's API. We automatically authenticate all requests and use `https://\{api_domain\}/tms/\{account_id\}/external/api/1.0` as the base URL. Documentation is provided privately by Talention. Contact Kombo support for assistance with specific endpoints.|
482
491
  # |TalentLMS|`talentlms/v2`|We use `https://\{subdomain\}.talentlms.com/api/v2` as the base URL.|
483
492
  # |Teamtailor Job Boards|`teamtailorjobboards/direct-apply`|Teamtailor's [Job Board Direct Apply API](https://partner.teamtailor.com/job_boards/direct_apply/#direct-apply). We automatically authenticate all requests and use `https://5qbn6o9x4h.execute-api.eu-west-1.amazonaws.com/production` as the base URL. All requests are automatically signed with HMAC-SHA256 signature.|
@@ -502,6 +511,7 @@ module Kombo
502
511
  # |Workday|`workday/rest`|[Workday's REST API](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html). We automatically authenticate all requests and use the correct Workday REST base URL for your tenant. The base URL follows the format: https://\{domain\}/api/\{service_name\}/\{version\}/\{tenant\}. You can specify any valid REST endpoint and method. See the Workday REST API documentation for available endpoints. You must specify the `api_options` object and set `service_name` to the name of the service you want to call. You can also specify the `version` (e.g., "v1", "v2"); if omitted, it defaults to "v1".|
503
512
  # |Workday|`workday/soap`|[Workday's SOAP API](https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html). We automatically authenticate all requests. Set `data` to your raw xml string. Use `/` as your `path`, as we will always send requests to `https://\{domain\}/ccx/service/\{tenant\}/\{service_name\}`. Set your `method` to `POST`. You need to specify the `api_options` object and set `service_name` to the name of the service you want to call. Find all available services [here](https://community.workday.com/sites/default/files/file-hosting/productionapi/versions/v41.0/index.html). The string that you submit as `data` will be the content of the `soapenv:Body` tag in the request. You can set the `service_version` to any valid Workday service version (the default is `38.2`).|
504
513
  # |workforce.com|`workforcecom/api`|Workforce.com [API](https://my.workforce.com/api/v2/documentation). We automatically authenticate all requests using the provided credentials and use `https://my.tanda.co` as the base URL.|
514
+ # |Zellis|`zellis/api`|Zellis Intelligence Platform [OData API](https://apiportal.hcm.zellis.com/). We automatically authenticate all requests using the provided credentials and use `https://api.hcm.zellis.com/\{customer_code\}/external/odata/v1` as the base URL.|
505
515
  # |Zelt|`zelt/partner`|Zelt's [Partner API](https://go.zelt.app/apiv2/swagger). We automatically authenticate all requests using the connected OAuth credentials and use `https://go.zelt.app/apiv2/partner` as the base URL.|
506
516
  # |Zoho Recruit|`zohorecruit/v2`|Zoho Recruit's [V2 API](https://www.zoho.com/recruit/developer-guide/apiv2/modules-api.html). We automatically authenticate all requests and use `https://recruit.\{domain\}/recruit/v2` as the base URL.|
507
517
  # |Zvoove Recruit|`zvooverecruit/applicants`|[Zvoove Recruit's Applicants API](https://api.zvoove.com/docs/). We automatically authenticate all requests using the applicants API key and use 'https://\{domain\}/api/public' as base URL.|