stackone_client 0.0.1

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 (224) hide show
  1. checksums.yaml +7 -0
  2. data/lib/stackone/accounts.rb +224 -0
  3. data/lib/stackone/ats.rb +1289 -0
  4. data/lib/stackone/connect_sessions.rb +100 -0
  5. data/lib/stackone/connectors.rb +98 -0
  6. data/lib/stackone/crm.rb +323 -0
  7. data/lib/stackone/hris.rb +682 -0
  8. data/lib/stackone/marketing.rb +584 -0
  9. data/lib/stackone/models/operations/ats_create_application.rb +53 -0
  10. data/lib/stackone/models/operations/ats_create_candidate.rb +53 -0
  11. data/lib/stackone/models/operations/ats_create_candidate_note.rb +56 -0
  12. data/lib/stackone/models/operations/ats_create_offer.rb +53 -0
  13. data/lib/stackone/models/operations/ats_get_application.rb +88 -0
  14. data/lib/stackone/models/operations/ats_get_application_offer.rb +91 -0
  15. data/lib/stackone/models/operations/ats_get_application_scorecard.rb +91 -0
  16. data/lib/stackone/models/operations/ats_get_candidate.rb +88 -0
  17. data/lib/stackone/models/operations/ats_get_candidate_note.rb +91 -0
  18. data/lib/stackone/models/operations/ats_get_department.rb +88 -0
  19. data/lib/stackone/models/operations/ats_get_interview.rb +88 -0
  20. data/lib/stackone/models/operations/ats_get_interview_stage.rb +88 -0
  21. data/lib/stackone/models/operations/ats_get_job.rb +88 -0
  22. data/lib/stackone/models/operations/ats_get_job_posting.rb +91 -0
  23. data/lib/stackone/models/operations/ats_get_location.rb +88 -0
  24. data/lib/stackone/models/operations/ats_get_offer.rb +88 -0
  25. data/lib/stackone/models/operations/ats_get_rejected_reason.rb +88 -0
  26. data/lib/stackone/models/operations/ats_get_user.rb +88 -0
  27. data/lib/stackone/models/operations/ats_list_application_scorecards.rb +88 -0
  28. data/lib/stackone/models/operations/ats_list_applications.rb +85 -0
  29. data/lib/stackone/models/operations/ats_list_applications_offers.rb +88 -0
  30. data/lib/stackone/models/operations/ats_list_candidate_notes.rb +88 -0
  31. data/lib/stackone/models/operations/ats_list_candidates.rb +85 -0
  32. data/lib/stackone/models/operations/ats_list_departments.rb +85 -0
  33. data/lib/stackone/models/operations/ats_list_interview_stages.rb +85 -0
  34. data/lib/stackone/models/operations/ats_list_interviews.rb +85 -0
  35. data/lib/stackone/models/operations/ats_list_job_postings.rb +88 -0
  36. data/lib/stackone/models/operations/ats_list_jobs.rb +85 -0
  37. data/lib/stackone/models/operations/ats_list_locations.rb +85 -0
  38. data/lib/stackone/models/operations/ats_list_offers.rb +85 -0
  39. data/lib/stackone/models/operations/ats_list_rejected_reasons.rb +85 -0
  40. data/lib/stackone/models/operations/ats_list_users.rb +85 -0
  41. data/lib/stackone/models/operations/ats_update_application.rb +56 -0
  42. data/lib/stackone/models/operations/ats_update_candidate.rb +56 -0
  43. data/lib/stackone/models/operations/crm_create_contact.rb +53 -0
  44. data/lib/stackone/models/operations/crm_get_account.rb +88 -0
  45. data/lib/stackone/models/operations/crm_get_contact.rb +88 -0
  46. data/lib/stackone/models/operations/crm_get_list.rb +88 -0
  47. data/lib/stackone/models/operations/crm_list_accounts.rb +85 -0
  48. data/lib/stackone/models/operations/crm_list_contacts.rb +85 -0
  49. data/lib/stackone/models/operations/crm_list_lists.rb +85 -0
  50. data/lib/stackone/models/operations/crm_update_contact.rb +56 -0
  51. data/lib/stackone/models/operations/hris_create_employee.rb +53 -0
  52. data/lib/stackone/models/operations/hris_create_employee_time_off_request.rb +56 -0
  53. data/lib/stackone/models/operations/hris_create_time_off_request.rb +53 -0
  54. data/lib/stackone/models/operations/hris_get_company.rb +88 -0
  55. data/lib/stackone/models/operations/hris_get_employee.rb +94 -0
  56. data/lib/stackone/models/operations/hris_get_employees_time_off_request.rb +91 -0
  57. data/lib/stackone/models/operations/hris_get_employment.rb +88 -0
  58. data/lib/stackone/models/operations/hris_get_location.rb +88 -0
  59. data/lib/stackone/models/operations/hris_get_time_off_request.rb +88 -0
  60. data/lib/stackone/models/operations/hris_list_companies.rb +85 -0
  61. data/lib/stackone/models/operations/hris_list_employee_time_off_requests.rb +88 -0
  62. data/lib/stackone/models/operations/hris_list_employees.rb +91 -0
  63. data/lib/stackone/models/operations/hris_list_employments.rb +85 -0
  64. data/lib/stackone/models/operations/hris_list_locations.rb +85 -0
  65. data/lib/stackone/models/operations/hris_list_time_off_requests.rb +85 -0
  66. data/lib/stackone/models/operations/hris_update_employee.rb +56 -0
  67. data/lib/stackone/models/operations/hris_update_time_off_request.rb +56 -0
  68. data/lib/stackone/models/operations/marketing_create_email_template.rb +53 -0
  69. data/lib/stackone/models/operations/marketing_create_omni_channel_template.rb +53 -0
  70. data/lib/stackone/models/operations/marketing_create_push_template.rb +53 -0
  71. data/lib/stackone/models/operations/marketing_get_campaign.rb +88 -0
  72. data/lib/stackone/models/operations/marketing_get_email_template.rb +88 -0
  73. data/lib/stackone/models/operations/marketing_get_omni_channel_template.rb +88 -0
  74. data/lib/stackone/models/operations/marketing_get_push_template.rb +88 -0
  75. data/lib/stackone/models/operations/marketing_list_campaigns.rb +85 -0
  76. data/lib/stackone/models/operations/marketing_list_email_templates.rb +85 -0
  77. data/lib/stackone/models/operations/marketing_list_omni_channel_templates.rb +85 -0
  78. data/lib/stackone/models/operations/marketing_list_push_templates.rb +85 -0
  79. data/lib/stackone/models/operations/marketing_update_email_template.rb +56 -0
  80. data/lib/stackone/models/operations/marketing_update_omni_channel_template.rb +56 -0
  81. data/lib/stackone/models/operations/marketing_update_push_template.rb +56 -0
  82. data/lib/stackone/models/operations/stackone_authenticate_connect_session.rb +35 -0
  83. data/lib/stackone/models/operations/stackone_create_connect_session.rb +35 -0
  84. data/lib/stackone/models/operations/stackone_delete_account.rb +49 -0
  85. data/lib/stackone/models/operations/stackone_get_account.rb +49 -0
  86. data/lib/stackone/models/operations/stackone_get_account_meta_info.rb +49 -0
  87. data/lib/stackone/models/operations/stackone_get_connector_meta.rb +52 -0
  88. data/lib/stackone/models/operations/stackone_list_connectors_meta.rb +48 -0
  89. data/lib/stackone/models/operations/stackone_list_linked_accounts.rb +51 -0
  90. data/lib/stackone/models/operations/stackone_proxy_request.rb +49 -0
  91. data/lib/stackone/models/operations/stackone_update_account.rb +53 -0
  92. data/lib/stackone/models/shared/account.rb +55 -0
  93. data/lib/stackone/models/shared/accountaddress.rb +342 -0
  94. data/lib/stackone/models/shared/accountresult.rb +29 -0
  95. data/lib/stackone/models/shared/accountspaginated.rb +34 -0
  96. data/lib/stackone/models/shared/answer.rb +64 -0
  97. data/lib/stackone/models/shared/application.rb +75 -0
  98. data/lib/stackone/models/shared/applicationattachment.rb +63 -0
  99. data/lib/stackone/models/shared/applicationcandidate.rb +31 -0
  100. data/lib/stackone/models/shared/applicationresult.rb +29 -0
  101. data/lib/stackone/models/shared/applicationspaginated.rb +34 -0
  102. data/lib/stackone/models/shared/applicationstatusenumapimodel.rb +50 -0
  103. data/lib/stackone/models/shared/atscreateapplicationrequestdto.rb +45 -0
  104. data/lib/stackone/models/shared/atscreatecandidaterequestdto.rb +46 -0
  105. data/lib/stackone/models/shared/atscreatenotesrequestdto.rb +57 -0
  106. data/lib/stackone/models/shared/atscreateofferrequestdto.rb +41 -0
  107. data/lib/stackone/models/shared/atslocation.rb +28 -0
  108. data/lib/stackone/models/shared/atslocationresult.rb +29 -0
  109. data/lib/stackone/models/shared/atslocationspaginated.rb +34 -0
  110. data/lib/stackone/models/shared/atsupdateapplicationrequestdto.rb +48 -0
  111. data/lib/stackone/models/shared/atsupdatecandidatesrequestdto.rb +49 -0
  112. data/lib/stackone/models/shared/attachmenttype.rb +40 -0
  113. data/lib/stackone/models/shared/campaign.rb +120 -0
  114. data/lib/stackone/models/shared/campaignresult.rb +29 -0
  115. data/lib/stackone/models/shared/campaignspaginated.rb +34 -0
  116. data/lib/stackone/models/shared/candidate.rb +64 -0
  117. data/lib/stackone/models/shared/candidateemail.rb +28 -0
  118. data/lib/stackone/models/shared/candidateresult.rb +29 -0
  119. data/lib/stackone/models/shared/candidatespaginated.rb +34 -0
  120. data/lib/stackone/models/shared/channelsenum.rb +42 -0
  121. data/lib/stackone/models/shared/companiespaginated.rb +34 -0
  122. data/lib/stackone/models/shared/company.rb +37 -0
  123. data/lib/stackone/models/shared/companyresult.rb +29 -0
  124. data/lib/stackone/models/shared/compensation.rb +149 -0
  125. data/lib/stackone/models/shared/connectorsmeta.rb +73 -0
  126. data/lib/stackone/models/shared/connectsession.rb +68 -0
  127. data/lib/stackone/models/shared/connectsessionauthenticate.rb +25 -0
  128. data/lib/stackone/models/shared/connectsessioncreate.rb +72 -0
  129. data/lib/stackone/models/shared/connectsessiontoken.rb +71 -0
  130. data/lib/stackone/models/shared/contact.rb +52 -0
  131. data/lib/stackone/models/shared/contactresult.rb +29 -0
  132. data/lib/stackone/models/shared/contactspaginated.rb +34 -0
  133. data/lib/stackone/models/shared/countrycodeenum.rb +284 -0
  134. data/lib/stackone/models/shared/createcandidatenoteresult.rb +31 -0
  135. data/lib/stackone/models/shared/createemployeeresult.rb +31 -0
  136. data/lib/stackone/models/shared/createofferresult.rb +31 -0
  137. data/lib/stackone/models/shared/createresult.rb +31 -0
  138. data/lib/stackone/models/shared/createtemplateresult.rb +31 -0
  139. data/lib/stackone/models/shared/createtimeoffresult.rb +31 -0
  140. data/lib/stackone/models/shared/crmcreatecontactrequestdto.rb +43 -0
  141. data/lib/stackone/models/shared/department.rb +28 -0
  142. data/lib/stackone/models/shared/departmentresult.rb +29 -0
  143. data/lib/stackone/models/shared/departmentspaginated.rb +34 -0
  144. data/lib/stackone/models/shared/emailmessages.rb +93 -0
  145. data/lib/stackone/models/shared/employee.rb +1035 -0
  146. data/lib/stackone/models/shared/employeecustomfields.rb +83 -0
  147. data/lib/stackone/models/shared/employeeresult.rb +29 -0
  148. data/lib/stackone/models/shared/employeespaginated.rb +34 -0
  149. data/lib/stackone/models/shared/employment.rb +191 -0
  150. data/lib/stackone/models/shared/employmentresult.rb +29 -0
  151. data/lib/stackone/models/shared/employmentspaginated.rb +34 -0
  152. data/lib/stackone/models/shared/field.rb +56 -0
  153. data/lib/stackone/models/shared/hiringteam.rb +37 -0
  154. data/lib/stackone/models/shared/hriscreateemployeerequestdto.rb +8638 -0
  155. data/lib/stackone/models/shared/hriscreatetimeoffrequestdto.rb +93 -0
  156. data/lib/stackone/models/shared/hrislocation.rb +361 -0
  157. data/lib/stackone/models/shared/hrislocationresult.rb +29 -0
  158. data/lib/stackone/models/shared/hrislocationspaginated.rb +34 -0
  159. data/lib/stackone/models/shared/interview.rb +91 -0
  160. data/lib/stackone/models/shared/interviewer.rb +37 -0
  161. data/lib/stackone/models/shared/interviewpart.rb +40 -0
  162. data/lib/stackone/models/shared/interviewspaginated.rb +34 -0
  163. data/lib/stackone/models/shared/interviewsresult.rb +29 -0
  164. data/lib/stackone/models/shared/interviewstage.rb +37 -0
  165. data/lib/stackone/models/shared/interviewstageresult.rb +29 -0
  166. data/lib/stackone/models/shared/interviewstagespaginated.rb +34 -0
  167. data/lib/stackone/models/shared/job.rb +65 -0
  168. data/lib/stackone/models/shared/jobposting.rb +182 -0
  169. data/lib/stackone/models/shared/jobpostingresult.rb +29 -0
  170. data/lib/stackone/models/shared/jobpostingspaginated.rb +34 -0
  171. data/lib/stackone/models/shared/jobresult.rb +29 -0
  172. data/lib/stackone/models/shared/jobspaginated.rb +34 -0
  173. data/lib/stackone/models/shared/jobstatusenum.rb +43 -0
  174. data/lib/stackone/models/shared/linkedaccount.rb +75 -0
  175. data/lib/stackone/models/shared/linkedaccountmeta.rb +54 -0
  176. data/lib/stackone/models/shared/list.rb +67 -0
  177. data/lib/stackone/models/shared/listresult.rb +29 -0
  178. data/lib/stackone/models/shared/listspaginated.rb +34 -0
  179. data/lib/stackone/models/shared/location.rb +28 -0
  180. data/lib/stackone/models/shared/marketingcreateemailtemplaterequestdto.rb +34 -0
  181. data/lib/stackone/models/shared/marketingcreatepushtemplaterequestdto.rb +34 -0
  182. data/lib/stackone/models/shared/marketingcreatetemplaterequestdto.rb +34 -0
  183. data/lib/stackone/models/shared/message.rb +50 -0
  184. data/lib/stackone/models/shared/note.rb +69 -0
  185. data/lib/stackone/models/shared/notecontentapimodel.rb +25 -0
  186. data/lib/stackone/models/shared/noteresult.rb +29 -0
  187. data/lib/stackone/models/shared/notespaginated.rb +34 -0
  188. data/lib/stackone/models/shared/offer.rb +50 -0
  189. data/lib/stackone/models/shared/offerhistory.rb +37 -0
  190. data/lib/stackone/models/shared/offerspaginated.rb +34 -0
  191. data/lib/stackone/models/shared/offersresult.rb +29 -0
  192. data/lib/stackone/models/shared/offerstatusenum.rb +43 -0
  193. data/lib/stackone/models/shared/patchaccountdto.rb +21 -0
  194. data/lib/stackone/models/shared/proxyrequestbody.rb +69 -0
  195. data/lib/stackone/models/shared/pushmessages.rb +81 -0
  196. data/lib/stackone/models/shared/questionnaire.rb +28 -0
  197. data/lib/stackone/models/shared/rawresponse.rb +44 -0
  198. data/lib/stackone/models/shared/rejectedreason.rb +32 -0
  199. data/lib/stackone/models/shared/rejectedreasonresult.rb +29 -0
  200. data/lib/stackone/models/shared/rejectedreasonspaginated.rb +34 -0
  201. data/lib/stackone/models/shared/rejectedreasontypeenum.rb +40 -0
  202. data/lib/stackone/models/shared/resultlink.rb +28 -0
  203. data/lib/stackone/models/shared/scorecard.rb +65 -0
  204. data/lib/stackone/models/shared/scorecardsection.rb +31 -0
  205. data/lib/stackone/models/shared/scorecardspaginated.rb +34 -0
  206. data/lib/stackone/models/shared/security.rb +28 -0
  207. data/lib/stackone/models/shared/sociallink.rb +28 -0
  208. data/lib/stackone/models/shared/template.rb +37 -0
  209. data/lib/stackone/models/shared/templateresult.rb +29 -0
  210. data/lib/stackone/models/shared/templatespaginated.rb +34 -0
  211. data/lib/stackone/models/shared/timeoff.rb +102 -0
  212. data/lib/stackone/models/shared/timeoffpaginated.rb +34 -0
  213. data/lib/stackone/models/shared/timeoffresult.rb +29 -0
  214. data/lib/stackone/models/shared/updateresult.rb +31 -0
  215. data/lib/stackone/models/shared/user.rb +40 -0
  216. data/lib/stackone/models/shared/userresult.rb +29 -0
  217. data/lib/stackone/models/shared/userspaginated.rb +34 -0
  218. data/lib/stackone/proxy.rb +59 -0
  219. data/lib/stackone/sdk.rb +87 -0
  220. data/lib/stackone/sdkconfiguration.rb +53 -0
  221. data/lib/stackone/utils/metadata_fields.rb +154 -0
  222. data/lib/stackone/utils/utils.rb +774 -0
  223. data/lib/stackone_client.rb +229 -0
  224. metadata +393 -0
@@ -0,0 +1,1289 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module StackOne
11
+ extend T::Sig
12
+ class Ats
13
+
14
+ extend T::Sig
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
18
+ end
19
+
20
+ sig { params(ats_create_application_request_dto: Shared::AtsCreateApplicationRequestDto, x_account_id: String).returns(Utils::FieldAugmented) }
21
+ def create_application(ats_create_application_request_dto, x_account_id)
22
+ # create_application - Create Application
23
+ request = Operations::AtsCreateApplicationRequest.new(
24
+
25
+ ats_create_application_request_dto: ats_create_application_request_dto,
26
+ x_account_id: x_account_id
27
+ )
28
+ url, params = @sdk_configuration.get_server_details
29
+ base_url = Utils.template_url(url, params)
30
+ url = "#{base_url}/unified/ats/applications"
31
+ headers = Utils.get_headers(request)
32
+ req_content_type, data, form = Utils.serialize_request_body(request, :ats_create_application_request_dto, :json)
33
+ headers['content-type'] = req_content_type
34
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
35
+ headers['Accept'] = 'application/json'
36
+ headers['user-agent'] = @sdk_configuration.user_agent
37
+
38
+ r = @sdk_configuration.client.post(url) do |req|
39
+ req.headers = headers
40
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
41
+ if form
42
+ req.body = Utils.encode_form(form)
43
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
44
+ req.body = URI.encode_www_form(data)
45
+ else
46
+ req.body = data
47
+ end
48
+ end
49
+
50
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
51
+
52
+ res = Operations::AtsCreateApplicationResponse.new(
53
+ status_code: r.status, content_type: content_type, raw_response: r
54
+ )
55
+ if r.status == 201
56
+ if Utils.match_content_type(content_type, 'application/json')
57
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateResult)
58
+ res.create_result = out
59
+ end
60
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
61
+ end
62
+ res
63
+ end
64
+
65
+ sig { params(ats_create_candidate_request_dto: Shared::AtsCreateCandidateRequestDto, x_account_id: String).returns(Utils::FieldAugmented) }
66
+ def create_candidate(ats_create_candidate_request_dto, x_account_id)
67
+ # create_candidate - Create Candidate (early access)
68
+ request = Operations::AtsCreateCandidateRequest.new(
69
+
70
+ ats_create_candidate_request_dto: ats_create_candidate_request_dto,
71
+ x_account_id: x_account_id
72
+ )
73
+ url, params = @sdk_configuration.get_server_details
74
+ base_url = Utils.template_url(url, params)
75
+ url = "#{base_url}/unified/ats/candidates"
76
+ headers = Utils.get_headers(request)
77
+ req_content_type, data, form = Utils.serialize_request_body(request, :ats_create_candidate_request_dto, :json)
78
+ headers['content-type'] = req_content_type
79
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
80
+ headers['Accept'] = 'application/json'
81
+ headers['user-agent'] = @sdk_configuration.user_agent
82
+
83
+ r = @sdk_configuration.client.post(url) do |req|
84
+ req.headers = headers
85
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
86
+ if form
87
+ req.body = Utils.encode_form(form)
88
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
89
+ req.body = URI.encode_www_form(data)
90
+ else
91
+ req.body = data
92
+ end
93
+ end
94
+
95
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
96
+
97
+ res = Operations::AtsCreateCandidateResponse.new(
98
+ status_code: r.status, content_type: content_type, raw_response: r
99
+ )
100
+ if r.status == 200
101
+ if Utils.match_content_type(content_type, 'application/json')
102
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CandidateResult)
103
+ res.candidate_result = out
104
+ end
105
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
106
+ end
107
+ res
108
+ end
109
+
110
+ sig { params(ats_create_notes_request_dto: Shared::AtsCreateNotesRequestDto, id: String, x_account_id: String).returns(Utils::FieldAugmented) }
111
+ def create_candidate_note(ats_create_notes_request_dto, id, x_account_id)
112
+ # create_candidate_note - Create Candidate Note
113
+ request = Operations::AtsCreateCandidateNoteRequest.new(
114
+
115
+ ats_create_notes_request_dto: ats_create_notes_request_dto,
116
+ id: id,
117
+ x_account_id: x_account_id
118
+ )
119
+ url, params = @sdk_configuration.get_server_details
120
+ base_url = Utils.template_url(url, params)
121
+ url = Utils.generate_url(
122
+ Operations::AtsCreateCandidateNoteRequest,
123
+ base_url,
124
+ '/unified/ats/candidates/{id}/notes',
125
+ request
126
+ )
127
+ headers = Utils.get_headers(request)
128
+ req_content_type, data, form = Utils.serialize_request_body(request, :ats_create_notes_request_dto, :json)
129
+ headers['content-type'] = req_content_type
130
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
131
+ headers['Accept'] = 'application/json'
132
+ headers['user-agent'] = @sdk_configuration.user_agent
133
+
134
+ r = @sdk_configuration.client.post(url) do |req|
135
+ req.headers = headers
136
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
137
+ if form
138
+ req.body = Utils.encode_form(form)
139
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
140
+ req.body = URI.encode_www_form(data)
141
+ else
142
+ req.body = data
143
+ end
144
+ end
145
+
146
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
147
+
148
+ res = Operations::AtsCreateCandidateNoteResponse.new(
149
+ status_code: r.status, content_type: content_type, raw_response: r
150
+ )
151
+ if r.status == 201
152
+ if Utils.match_content_type(content_type, 'application/json')
153
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateCandidateNoteResult)
154
+ res.create_candidate_note_result = out
155
+ end
156
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
157
+ end
158
+ res
159
+ end
160
+
161
+ sig { params(ats_create_offer_request_dto: Shared::AtsCreateOfferRequestDto, x_account_id: String).returns(Utils::FieldAugmented) }
162
+ def create_offer(ats_create_offer_request_dto, x_account_id)
163
+ # create_offer - Creates an offer
164
+ request = Operations::AtsCreateOfferRequest.new(
165
+
166
+ ats_create_offer_request_dto: ats_create_offer_request_dto,
167
+ x_account_id: x_account_id
168
+ )
169
+ url, params = @sdk_configuration.get_server_details
170
+ base_url = Utils.template_url(url, params)
171
+ url = "#{base_url}/unified/ats/offers"
172
+ headers = Utils.get_headers(request)
173
+ req_content_type, data, form = Utils.serialize_request_body(request, :ats_create_offer_request_dto, :json)
174
+ headers['content-type'] = req_content_type
175
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
176
+ headers['Accept'] = 'application/json'
177
+ headers['user-agent'] = @sdk_configuration.user_agent
178
+
179
+ r = @sdk_configuration.client.post(url) do |req|
180
+ req.headers = headers
181
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
182
+ if form
183
+ req.body = Utils.encode_form(form)
184
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
185
+ req.body = URI.encode_www_form(data)
186
+ else
187
+ req.body = data
188
+ end
189
+ end
190
+
191
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
192
+
193
+ res = Operations::AtsCreateOfferResponse.new(
194
+ status_code: r.status, content_type: content_type, raw_response: r
195
+ )
196
+ if r.status == 200
197
+ if Utils.match_content_type(content_type, 'application/json')
198
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateOfferResult)
199
+ res.create_offer_result = out
200
+ end
201
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
202
+ end
203
+ res
204
+ end
205
+
206
+ sig { params(request: T.nilable(Operations::AtsGetApplicationRequest)).returns(Utils::FieldAugmented) }
207
+ def get_application(request)
208
+ # get_application - Get Application
209
+ url, params = @sdk_configuration.get_server_details
210
+ base_url = Utils.template_url(url, params)
211
+ url = Utils.generate_url(
212
+ Operations::AtsGetApplicationRequest,
213
+ base_url,
214
+ '/unified/ats/applications/{id}',
215
+ request
216
+ )
217
+ headers = Utils.get_headers(request)
218
+ query_params = Utils.get_query_params(Operations::AtsGetApplicationRequest, request)
219
+ headers['Accept'] = 'application/json'
220
+ headers['user-agent'] = @sdk_configuration.user_agent
221
+
222
+ r = @sdk_configuration.client.get(url) do |req|
223
+ req.headers = headers
224
+ req.params = query_params
225
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
226
+ end
227
+
228
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
229
+
230
+ res = Operations::AtsGetApplicationResponse.new(
231
+ status_code: r.status, content_type: content_type, raw_response: r
232
+ )
233
+ if r.status == 200
234
+ if Utils.match_content_type(content_type, 'application/json')
235
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::ApplicationResult)
236
+ res.application_result = out
237
+ end
238
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
239
+ end
240
+ res
241
+ end
242
+
243
+ sig { params(request: T.nilable(Operations::AtsGetApplicationOfferRequest)).returns(Utils::FieldAugmented) }
244
+ def get_application_offer(request)
245
+ # get_application_offer - Get Application Offer
246
+ url, params = @sdk_configuration.get_server_details
247
+ base_url = Utils.template_url(url, params)
248
+ url = Utils.generate_url(
249
+ Operations::AtsGetApplicationOfferRequest,
250
+ base_url,
251
+ '/unified/ats/applications/{id}/offers/{subResourceId}',
252
+ request
253
+ )
254
+ headers = Utils.get_headers(request)
255
+ query_params = Utils.get_query_params(Operations::AtsGetApplicationOfferRequest, request)
256
+ headers['Accept'] = 'application/json'
257
+ headers['user-agent'] = @sdk_configuration.user_agent
258
+
259
+ r = @sdk_configuration.client.get(url) do |req|
260
+ req.headers = headers
261
+ req.params = query_params
262
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
263
+ end
264
+
265
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
266
+
267
+ res = Operations::AtsGetApplicationOfferResponse.new(
268
+ status_code: r.status, content_type: content_type, raw_response: r
269
+ )
270
+ if r.status == 200
271
+ if Utils.match_content_type(content_type, 'application/json')
272
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::OffersResult)
273
+ res.offers_result = out
274
+ end
275
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
276
+ end
277
+ res
278
+ end
279
+
280
+ sig { params(request: T.nilable(Operations::AtsGetApplicationScorecardRequest)).returns(Utils::FieldAugmented) }
281
+ def get_application_scorecard(request)
282
+ # get_application_scorecard - Get Application Scorecard
283
+ url, params = @sdk_configuration.get_server_details
284
+ base_url = Utils.template_url(url, params)
285
+ url = Utils.generate_url(
286
+ Operations::AtsGetApplicationScorecardRequest,
287
+ base_url,
288
+ '/unified/ats/applications/{id}/scorecards/{subResourceId}',
289
+ request
290
+ )
291
+ headers = Utils.get_headers(request)
292
+ query_params = Utils.get_query_params(Operations::AtsGetApplicationScorecardRequest, request)
293
+ headers['Accept'] = 'application/json'
294
+ headers['user-agent'] = @sdk_configuration.user_agent
295
+
296
+ r = @sdk_configuration.client.get(url) do |req|
297
+ req.headers = headers
298
+ req.params = query_params
299
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
300
+ end
301
+
302
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
303
+
304
+ res = Operations::AtsGetApplicationScorecardResponse.new(
305
+ status_code: r.status, content_type: content_type, raw_response: r
306
+ )
307
+ if r.status == 200
308
+ if Utils.match_content_type(content_type, 'application/json')
309
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::OffersResult)
310
+ res.offers_result = out
311
+ end
312
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
313
+ end
314
+ res
315
+ end
316
+
317
+ sig { params(request: T.nilable(Operations::AtsGetCandidateRequest)).returns(Utils::FieldAugmented) }
318
+ def get_candidate(request)
319
+ # get_candidate - Get Candidate
320
+ url, params = @sdk_configuration.get_server_details
321
+ base_url = Utils.template_url(url, params)
322
+ url = Utils.generate_url(
323
+ Operations::AtsGetCandidateRequest,
324
+ base_url,
325
+ '/unified/ats/candidates/{id}',
326
+ request
327
+ )
328
+ headers = Utils.get_headers(request)
329
+ query_params = Utils.get_query_params(Operations::AtsGetCandidateRequest, request)
330
+ headers['Accept'] = 'application/json'
331
+ headers['user-agent'] = @sdk_configuration.user_agent
332
+
333
+ r = @sdk_configuration.client.get(url) do |req|
334
+ req.headers = headers
335
+ req.params = query_params
336
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
337
+ end
338
+
339
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
340
+
341
+ res = Operations::AtsGetCandidateResponse.new(
342
+ status_code: r.status, content_type: content_type, raw_response: r
343
+ )
344
+ if r.status == 200
345
+ if Utils.match_content_type(content_type, 'application/json')
346
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CandidateResult)
347
+ res.candidate_result = out
348
+ end
349
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
350
+ end
351
+ res
352
+ end
353
+
354
+ sig { params(request: T.nilable(Operations::AtsGetCandidateNoteRequest)).returns(Utils::FieldAugmented) }
355
+ def get_candidate_note(request)
356
+ # get_candidate_note - Get Candidate Note
357
+ url, params = @sdk_configuration.get_server_details
358
+ base_url = Utils.template_url(url, params)
359
+ url = Utils.generate_url(
360
+ Operations::AtsGetCandidateNoteRequest,
361
+ base_url,
362
+ '/unified/ats/candidates/{id}/notes/{subResourceId}',
363
+ request
364
+ )
365
+ headers = Utils.get_headers(request)
366
+ query_params = Utils.get_query_params(Operations::AtsGetCandidateNoteRequest, request)
367
+ headers['Accept'] = 'application/json'
368
+ headers['user-agent'] = @sdk_configuration.user_agent
369
+
370
+ r = @sdk_configuration.client.get(url) do |req|
371
+ req.headers = headers
372
+ req.params = query_params
373
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
374
+ end
375
+
376
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
377
+
378
+ res = Operations::AtsGetCandidateNoteResponse.new(
379
+ status_code: r.status, content_type: content_type, raw_response: r
380
+ )
381
+ if r.status == 200
382
+ if Utils.match_content_type(content_type, 'application/json')
383
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::NoteResult)
384
+ res.note_result = out
385
+ end
386
+ elsif [400, 403, 429, 500, 501].include?(r.status)
387
+ end
388
+ res
389
+ end
390
+
391
+ sig { params(request: T.nilable(Operations::AtsGetDepartmentRequest)).returns(Utils::FieldAugmented) }
392
+ def get_department(request)
393
+ # get_department - Get Department
394
+ url, params = @sdk_configuration.get_server_details
395
+ base_url = Utils.template_url(url, params)
396
+ url = Utils.generate_url(
397
+ Operations::AtsGetDepartmentRequest,
398
+ base_url,
399
+ '/unified/ats/departments/{id}',
400
+ request
401
+ )
402
+ headers = Utils.get_headers(request)
403
+ query_params = Utils.get_query_params(Operations::AtsGetDepartmentRequest, request)
404
+ headers['Accept'] = 'application/json'
405
+ headers['user-agent'] = @sdk_configuration.user_agent
406
+
407
+ r = @sdk_configuration.client.get(url) do |req|
408
+ req.headers = headers
409
+ req.params = query_params
410
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
411
+ end
412
+
413
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
414
+
415
+ res = Operations::AtsGetDepartmentResponse.new(
416
+ status_code: r.status, content_type: content_type, raw_response: r
417
+ )
418
+ if r.status == 200
419
+ if Utils.match_content_type(content_type, 'application/json')
420
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::DepartmentResult)
421
+ res.department_result = out
422
+ end
423
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
424
+ end
425
+ res
426
+ end
427
+
428
+ sig { params(request: T.nilable(Operations::AtsGetInterviewRequest)).returns(Utils::FieldAugmented) }
429
+ def get_interview(request)
430
+ # get_interview - Get Interview
431
+ url, params = @sdk_configuration.get_server_details
432
+ base_url = Utils.template_url(url, params)
433
+ url = Utils.generate_url(
434
+ Operations::AtsGetInterviewRequest,
435
+ base_url,
436
+ '/unified/ats/interviews/{id}',
437
+ request
438
+ )
439
+ headers = Utils.get_headers(request)
440
+ query_params = Utils.get_query_params(Operations::AtsGetInterviewRequest, request)
441
+ headers['Accept'] = 'application/json'
442
+ headers['user-agent'] = @sdk_configuration.user_agent
443
+
444
+ r = @sdk_configuration.client.get(url) do |req|
445
+ req.headers = headers
446
+ req.params = query_params
447
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
448
+ end
449
+
450
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
451
+
452
+ res = Operations::AtsGetInterviewResponse.new(
453
+ status_code: r.status, content_type: content_type, raw_response: r
454
+ )
455
+ if r.status == 200
456
+ if Utils.match_content_type(content_type, 'application/json')
457
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::InterviewsResult)
458
+ res.interviews_result = out
459
+ end
460
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
461
+ end
462
+ res
463
+ end
464
+
465
+ sig { params(request: T.nilable(Operations::AtsGetInterviewStageRequest)).returns(Utils::FieldAugmented) }
466
+ def get_interview_stage(request)
467
+ # get_interview_stage - Get Interview Stage
468
+ url, params = @sdk_configuration.get_server_details
469
+ base_url = Utils.template_url(url, params)
470
+ url = Utils.generate_url(
471
+ Operations::AtsGetInterviewStageRequest,
472
+ base_url,
473
+ '/unified/ats/interview_stages/{id}',
474
+ request
475
+ )
476
+ headers = Utils.get_headers(request)
477
+ query_params = Utils.get_query_params(Operations::AtsGetInterviewStageRequest, request)
478
+ headers['Accept'] = 'application/json'
479
+ headers['user-agent'] = @sdk_configuration.user_agent
480
+
481
+ r = @sdk_configuration.client.get(url) do |req|
482
+ req.headers = headers
483
+ req.params = query_params
484
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
485
+ end
486
+
487
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
488
+
489
+ res = Operations::AtsGetInterviewStageResponse.new(
490
+ status_code: r.status, content_type: content_type, raw_response: r
491
+ )
492
+ if r.status == 200
493
+ if Utils.match_content_type(content_type, 'application/json')
494
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::InterviewStageResult)
495
+ res.interview_stage_result = out
496
+ end
497
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
498
+ end
499
+ res
500
+ end
501
+
502
+ sig { params(request: T.nilable(Operations::AtsGetJobRequest)).returns(Utils::FieldAugmented) }
503
+ def get_job(request)
504
+ # get_job - Get Job
505
+ url, params = @sdk_configuration.get_server_details
506
+ base_url = Utils.template_url(url, params)
507
+ url = Utils.generate_url(
508
+ Operations::AtsGetJobRequest,
509
+ base_url,
510
+ '/unified/ats/jobs/{id}',
511
+ request
512
+ )
513
+ headers = Utils.get_headers(request)
514
+ query_params = Utils.get_query_params(Operations::AtsGetJobRequest, request)
515
+ headers['Accept'] = 'application/json'
516
+ headers['user-agent'] = @sdk_configuration.user_agent
517
+
518
+ r = @sdk_configuration.client.get(url) do |req|
519
+ req.headers = headers
520
+ req.params = query_params
521
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
522
+ end
523
+
524
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
525
+
526
+ res = Operations::AtsGetJobResponse.new(
527
+ status_code: r.status, content_type: content_type, raw_response: r
528
+ )
529
+ if r.status == 200
530
+ if Utils.match_content_type(content_type, 'application/json')
531
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::JobResult)
532
+ res.job_result = out
533
+ end
534
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
535
+ end
536
+ res
537
+ end
538
+
539
+ sig { params(request: T.nilable(Operations::AtsGetJobPostingRequest)).returns(Utils::FieldAugmented) }
540
+ def get_job_posting(request)
541
+ # get_job_posting - Get Job Posting
542
+ url, params = @sdk_configuration.get_server_details
543
+ base_url = Utils.template_url(url, params)
544
+ url = Utils.generate_url(
545
+ Operations::AtsGetJobPostingRequest,
546
+ base_url,
547
+ '/unified/ats/job_postings/{id}',
548
+ request
549
+ )
550
+ headers = Utils.get_headers(request)
551
+ query_params = Utils.get_query_params(Operations::AtsGetJobPostingRequest, request)
552
+ headers['Accept'] = 'application/json'
553
+ headers['user-agent'] = @sdk_configuration.user_agent
554
+
555
+ r = @sdk_configuration.client.get(url) do |req|
556
+ req.headers = headers
557
+ req.params = query_params
558
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
559
+ end
560
+
561
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
562
+
563
+ res = Operations::AtsGetJobPostingResponse.new(
564
+ status_code: r.status, content_type: content_type, raw_response: r
565
+ )
566
+ if r.status == 200
567
+ if Utils.match_content_type(content_type, 'application/json')
568
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::JobPostingResult)
569
+ res.job_posting_result = out
570
+ end
571
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
572
+ end
573
+ res
574
+ end
575
+
576
+ sig { params(request: T.nilable(Operations::AtsGetLocationRequest)).returns(Utils::FieldAugmented) }
577
+ def get_location(request)
578
+ # get_location - Get Location
579
+ url, params = @sdk_configuration.get_server_details
580
+ base_url = Utils.template_url(url, params)
581
+ url = Utils.generate_url(
582
+ Operations::AtsGetLocationRequest,
583
+ base_url,
584
+ '/unified/ats/locations/{id}',
585
+ request
586
+ )
587
+ headers = Utils.get_headers(request)
588
+ query_params = Utils.get_query_params(Operations::AtsGetLocationRequest, request)
589
+ headers['Accept'] = 'application/json'
590
+ headers['user-agent'] = @sdk_configuration.user_agent
591
+
592
+ r = @sdk_configuration.client.get(url) do |req|
593
+ req.headers = headers
594
+ req.params = query_params
595
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
596
+ end
597
+
598
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
599
+
600
+ res = Operations::AtsGetLocationResponse.new(
601
+ status_code: r.status, content_type: content_type, raw_response: r
602
+ )
603
+ if r.status == 200
604
+ if Utils.match_content_type(content_type, 'application/json')
605
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::ATSLocationResult)
606
+ res.ats_location_result = out
607
+ end
608
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
609
+ end
610
+ res
611
+ end
612
+
613
+ sig { params(request: T.nilable(Operations::AtsGetOfferRequest)).returns(Utils::FieldAugmented) }
614
+ def get_offer(request)
615
+ # get_offer - Get Offer
616
+ url, params = @sdk_configuration.get_server_details
617
+ base_url = Utils.template_url(url, params)
618
+ url = Utils.generate_url(
619
+ Operations::AtsGetOfferRequest,
620
+ base_url,
621
+ '/unified/ats/offers/{id}',
622
+ request
623
+ )
624
+ headers = Utils.get_headers(request)
625
+ query_params = Utils.get_query_params(Operations::AtsGetOfferRequest, request)
626
+ headers['Accept'] = 'application/json'
627
+ headers['user-agent'] = @sdk_configuration.user_agent
628
+
629
+ r = @sdk_configuration.client.get(url) do |req|
630
+ req.headers = headers
631
+ req.params = query_params
632
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
633
+ end
634
+
635
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
636
+
637
+ res = Operations::AtsGetOfferResponse.new(
638
+ status_code: r.status, content_type: content_type, raw_response: r
639
+ )
640
+ if r.status == 200
641
+ if Utils.match_content_type(content_type, 'application/json')
642
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::OffersResult)
643
+ res.offers_result = out
644
+ end
645
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
646
+ end
647
+ res
648
+ end
649
+
650
+ sig { params(request: T.nilable(Operations::AtsGetRejectedReasonRequest)).returns(Utils::FieldAugmented) }
651
+ def get_rejected_reason(request)
652
+ # get_rejected_reason - Get Rejected Reason
653
+ url, params = @sdk_configuration.get_server_details
654
+ base_url = Utils.template_url(url, params)
655
+ url = Utils.generate_url(
656
+ Operations::AtsGetRejectedReasonRequest,
657
+ base_url,
658
+ '/unified/ats/rejected_reasons/{id}',
659
+ request
660
+ )
661
+ headers = Utils.get_headers(request)
662
+ query_params = Utils.get_query_params(Operations::AtsGetRejectedReasonRequest, request)
663
+ headers['Accept'] = 'application/json'
664
+ headers['user-agent'] = @sdk_configuration.user_agent
665
+
666
+ r = @sdk_configuration.client.get(url) do |req|
667
+ req.headers = headers
668
+ req.params = query_params
669
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
670
+ end
671
+
672
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
673
+
674
+ res = Operations::AtsGetRejectedReasonResponse.new(
675
+ status_code: r.status, content_type: content_type, raw_response: r
676
+ )
677
+ if r.status == 200
678
+ if Utils.match_content_type(content_type, 'application/json')
679
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::RejectedReasonResult)
680
+ res.rejected_reason_result = out
681
+ end
682
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
683
+ end
684
+ res
685
+ end
686
+
687
+ sig { params(request: T.nilable(Operations::AtsGetUserRequest)).returns(Utils::FieldAugmented) }
688
+ def get_user(request)
689
+ # get_user - Get User
690
+ url, params = @sdk_configuration.get_server_details
691
+ base_url = Utils.template_url(url, params)
692
+ url = Utils.generate_url(
693
+ Operations::AtsGetUserRequest,
694
+ base_url,
695
+ '/unified/ats/users/{id}',
696
+ request
697
+ )
698
+ headers = Utils.get_headers(request)
699
+ query_params = Utils.get_query_params(Operations::AtsGetUserRequest, request)
700
+ headers['Accept'] = 'application/json'
701
+ headers['user-agent'] = @sdk_configuration.user_agent
702
+
703
+ r = @sdk_configuration.client.get(url) do |req|
704
+ req.headers = headers
705
+ req.params = query_params
706
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
707
+ end
708
+
709
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
710
+
711
+ res = Operations::AtsGetUserResponse.new(
712
+ status_code: r.status, content_type: content_type, raw_response: r
713
+ )
714
+ if r.status == 200
715
+ if Utils.match_content_type(content_type, 'application/json')
716
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::UserResult)
717
+ res.user_result = out
718
+ end
719
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
720
+ end
721
+ res
722
+ end
723
+
724
+ sig { params(request: T.nilable(Operations::AtsListApplicationScorecardsRequest)).returns(Utils::FieldAugmented) }
725
+ def list_application_scorecards(request)
726
+ # list_application_scorecards - List Application Scorecards
727
+ url, params = @sdk_configuration.get_server_details
728
+ base_url = Utils.template_url(url, params)
729
+ url = Utils.generate_url(
730
+ Operations::AtsListApplicationScorecardsRequest,
731
+ base_url,
732
+ '/unified/ats/applications/{id}/scorecards',
733
+ request
734
+ )
735
+ headers = Utils.get_headers(request)
736
+ query_params = Utils.get_query_params(Operations::AtsListApplicationScorecardsRequest, request)
737
+ headers['Accept'] = 'application/json'
738
+ headers['user-agent'] = @sdk_configuration.user_agent
739
+
740
+ r = @sdk_configuration.client.get(url) do |req|
741
+ req.headers = headers
742
+ req.params = query_params
743
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
744
+ end
745
+
746
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
747
+
748
+ res = Operations::AtsListApplicationScorecardsResponse.new(
749
+ status_code: r.status, content_type: content_type, raw_response: r
750
+ )
751
+ if r.status == 200
752
+ if Utils.match_content_type(content_type, 'application/json')
753
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::ScorecardsPaginated)
754
+ res.scorecards_paginated = out
755
+ end
756
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
757
+ end
758
+ res
759
+ end
760
+
761
+ sig { params(request: T.nilable(Operations::AtsListApplicationsRequest)).returns(Utils::FieldAugmented) }
762
+ def list_applications(request)
763
+ # list_applications - List Applications
764
+ url, params = @sdk_configuration.get_server_details
765
+ base_url = Utils.template_url(url, params)
766
+ url = "#{base_url}/unified/ats/applications"
767
+ headers = Utils.get_headers(request)
768
+ query_params = Utils.get_query_params(Operations::AtsListApplicationsRequest, request)
769
+ headers['Accept'] = 'application/json'
770
+ headers['user-agent'] = @sdk_configuration.user_agent
771
+
772
+ r = @sdk_configuration.client.get(url) do |req|
773
+ req.headers = headers
774
+ req.params = query_params
775
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
776
+ end
777
+
778
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
779
+
780
+ res = Operations::AtsListApplicationsResponse.new(
781
+ status_code: r.status, content_type: content_type, raw_response: r
782
+ )
783
+ if r.status == 200
784
+ if Utils.match_content_type(content_type, 'application/json')
785
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::ApplicationsPaginated)
786
+ res.applications_paginated = out
787
+ end
788
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
789
+ end
790
+ res
791
+ end
792
+
793
+ sig { params(request: T.nilable(Operations::AtsListApplicationsOffersRequest)).returns(Utils::FieldAugmented) }
794
+ def list_applications_offers(request)
795
+ # list_applications_offers - List Application Offers
796
+ url, params = @sdk_configuration.get_server_details
797
+ base_url = Utils.template_url(url, params)
798
+ url = Utils.generate_url(
799
+ Operations::AtsListApplicationsOffersRequest,
800
+ base_url,
801
+ '/unified/ats/applications/{id}/offers',
802
+ request
803
+ )
804
+ headers = Utils.get_headers(request)
805
+ query_params = Utils.get_query_params(Operations::AtsListApplicationsOffersRequest, request)
806
+ headers['Accept'] = 'application/json'
807
+ headers['user-agent'] = @sdk_configuration.user_agent
808
+
809
+ r = @sdk_configuration.client.get(url) do |req|
810
+ req.headers = headers
811
+ req.params = query_params
812
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
813
+ end
814
+
815
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
816
+
817
+ res = Operations::AtsListApplicationsOffersResponse.new(
818
+ status_code: r.status, content_type: content_type, raw_response: r
819
+ )
820
+ if r.status == 200
821
+ if Utils.match_content_type(content_type, 'application/json')
822
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::OffersPaginated)
823
+ res.offers_paginated = out
824
+ end
825
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
826
+ end
827
+ res
828
+ end
829
+
830
+ sig { params(request: T.nilable(Operations::AtsListCandidateNotesRequest)).returns(Utils::FieldAugmented) }
831
+ def list_candidate_notes(request)
832
+ # list_candidate_notes - List Candidate Notes
833
+ url, params = @sdk_configuration.get_server_details
834
+ base_url = Utils.template_url(url, params)
835
+ url = Utils.generate_url(
836
+ Operations::AtsListCandidateNotesRequest,
837
+ base_url,
838
+ '/unified/ats/candidates/{id}/notes',
839
+ request
840
+ )
841
+ headers = Utils.get_headers(request)
842
+ query_params = Utils.get_query_params(Operations::AtsListCandidateNotesRequest, request)
843
+ headers['Accept'] = 'application/json'
844
+ headers['user-agent'] = @sdk_configuration.user_agent
845
+
846
+ r = @sdk_configuration.client.get(url) do |req|
847
+ req.headers = headers
848
+ req.params = query_params
849
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
850
+ end
851
+
852
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
853
+
854
+ res = Operations::AtsListCandidateNotesResponse.new(
855
+ status_code: r.status, content_type: content_type, raw_response: r
856
+ )
857
+ if r.status == 200
858
+ if Utils.match_content_type(content_type, 'application/json')
859
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::NotesPaginated)
860
+ res.notes_paginated = out
861
+ end
862
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
863
+ end
864
+ res
865
+ end
866
+
867
+ sig { params(request: T.nilable(Operations::AtsListCandidatesRequest)).returns(Utils::FieldAugmented) }
868
+ def list_candidates(request)
869
+ # list_candidates - List Candidates
870
+ url, params = @sdk_configuration.get_server_details
871
+ base_url = Utils.template_url(url, params)
872
+ url = "#{base_url}/unified/ats/candidates"
873
+ headers = Utils.get_headers(request)
874
+ query_params = Utils.get_query_params(Operations::AtsListCandidatesRequest, request)
875
+ headers['Accept'] = 'application/json'
876
+ headers['user-agent'] = @sdk_configuration.user_agent
877
+
878
+ r = @sdk_configuration.client.get(url) do |req|
879
+ req.headers = headers
880
+ req.params = query_params
881
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
882
+ end
883
+
884
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
885
+
886
+ res = Operations::AtsListCandidatesResponse.new(
887
+ status_code: r.status, content_type: content_type, raw_response: r
888
+ )
889
+ if r.status == 200
890
+ if Utils.match_content_type(content_type, 'application/json')
891
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CandidatesPaginated)
892
+ res.candidates_paginated = out
893
+ end
894
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
895
+ end
896
+ res
897
+ end
898
+
899
+ sig { params(request: T.nilable(Operations::AtsListDepartmentsRequest)).returns(Utils::FieldAugmented) }
900
+ def list_departments(request)
901
+ # list_departments - List Departments
902
+ url, params = @sdk_configuration.get_server_details
903
+ base_url = Utils.template_url(url, params)
904
+ url = "#{base_url}/unified/ats/departments"
905
+ headers = Utils.get_headers(request)
906
+ query_params = Utils.get_query_params(Operations::AtsListDepartmentsRequest, request)
907
+ headers['Accept'] = 'application/json'
908
+ headers['user-agent'] = @sdk_configuration.user_agent
909
+
910
+ r = @sdk_configuration.client.get(url) do |req|
911
+ req.headers = headers
912
+ req.params = query_params
913
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
914
+ end
915
+
916
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
917
+
918
+ res = Operations::AtsListDepartmentsResponse.new(
919
+ status_code: r.status, content_type: content_type, raw_response: r
920
+ )
921
+ if r.status == 200
922
+ if Utils.match_content_type(content_type, 'application/json')
923
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::DepartmentsPaginated)
924
+ res.departments_paginated = out
925
+ end
926
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
927
+ end
928
+ res
929
+ end
930
+
931
+ sig { params(request: T.nilable(Operations::AtsListInterviewStagesRequest)).returns(Utils::FieldAugmented) }
932
+ def list_interview_stages(request)
933
+ # list_interview_stages - List Interview Stages
934
+ url, params = @sdk_configuration.get_server_details
935
+ base_url = Utils.template_url(url, params)
936
+ url = "#{base_url}/unified/ats/interview_stages"
937
+ headers = Utils.get_headers(request)
938
+ query_params = Utils.get_query_params(Operations::AtsListInterviewStagesRequest, request)
939
+ headers['Accept'] = 'application/json'
940
+ headers['user-agent'] = @sdk_configuration.user_agent
941
+
942
+ r = @sdk_configuration.client.get(url) do |req|
943
+ req.headers = headers
944
+ req.params = query_params
945
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
946
+ end
947
+
948
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
949
+
950
+ res = Operations::AtsListInterviewStagesResponse.new(
951
+ status_code: r.status, content_type: content_type, raw_response: r
952
+ )
953
+ if r.status == 200
954
+ if Utils.match_content_type(content_type, 'application/json')
955
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::InterviewStagesPaginated)
956
+ res.interview_stages_paginated = out
957
+ end
958
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
959
+ end
960
+ res
961
+ end
962
+
963
+ sig { params(request: T.nilable(Operations::AtsListInterviewsRequest)).returns(Utils::FieldAugmented) }
964
+ def list_interviews(request)
965
+ # list_interviews - List Interviews
966
+ url, params = @sdk_configuration.get_server_details
967
+ base_url = Utils.template_url(url, params)
968
+ url = "#{base_url}/unified/ats/interviews"
969
+ headers = Utils.get_headers(request)
970
+ query_params = Utils.get_query_params(Operations::AtsListInterviewsRequest, request)
971
+ headers['Accept'] = 'application/json'
972
+ headers['user-agent'] = @sdk_configuration.user_agent
973
+
974
+ r = @sdk_configuration.client.get(url) do |req|
975
+ req.headers = headers
976
+ req.params = query_params
977
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
978
+ end
979
+
980
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
981
+
982
+ res = Operations::AtsListInterviewsResponse.new(
983
+ status_code: r.status, content_type: content_type, raw_response: r
984
+ )
985
+ if r.status == 200
986
+ if Utils.match_content_type(content_type, 'application/json')
987
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::InterviewsPaginated)
988
+ res.interviews_paginated = out
989
+ end
990
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
991
+ end
992
+ res
993
+ end
994
+
995
+ sig { params(request: T.nilable(Operations::AtsListJobPostingsRequest)).returns(Utils::FieldAugmented) }
996
+ def list_job_postings(request)
997
+ # list_job_postings - List Job Postings
998
+ url, params = @sdk_configuration.get_server_details
999
+ base_url = Utils.template_url(url, params)
1000
+ url = "#{base_url}/unified/ats/job_postings"
1001
+ headers = Utils.get_headers(request)
1002
+ query_params = Utils.get_query_params(Operations::AtsListJobPostingsRequest, request)
1003
+ headers['Accept'] = 'application/json'
1004
+ headers['user-agent'] = @sdk_configuration.user_agent
1005
+
1006
+ r = @sdk_configuration.client.get(url) do |req|
1007
+ req.headers = headers
1008
+ req.params = query_params
1009
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1010
+ end
1011
+
1012
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1013
+
1014
+ res = Operations::AtsListJobPostingsResponse.new(
1015
+ status_code: r.status, content_type: content_type, raw_response: r
1016
+ )
1017
+ if r.status == 200
1018
+ if Utils.match_content_type(content_type, 'application/json')
1019
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::JobPostingsPaginated)
1020
+ res.job_postings_paginated = out
1021
+ end
1022
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1023
+ end
1024
+ res
1025
+ end
1026
+
1027
+ sig { params(request: T.nilable(Operations::AtsListJobsRequest)).returns(Utils::FieldAugmented) }
1028
+ def list_jobs(request)
1029
+ # list_jobs - List Jobs
1030
+ url, params = @sdk_configuration.get_server_details
1031
+ base_url = Utils.template_url(url, params)
1032
+ url = "#{base_url}/unified/ats/jobs"
1033
+ headers = Utils.get_headers(request)
1034
+ query_params = Utils.get_query_params(Operations::AtsListJobsRequest, request)
1035
+ headers['Accept'] = 'application/json'
1036
+ headers['user-agent'] = @sdk_configuration.user_agent
1037
+
1038
+ r = @sdk_configuration.client.get(url) do |req|
1039
+ req.headers = headers
1040
+ req.params = query_params
1041
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1042
+ end
1043
+
1044
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1045
+
1046
+ res = Operations::AtsListJobsResponse.new(
1047
+ status_code: r.status, content_type: content_type, raw_response: r
1048
+ )
1049
+ if r.status == 200
1050
+ if Utils.match_content_type(content_type, 'application/json')
1051
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::JobsPaginated)
1052
+ res.jobs_paginated = out
1053
+ end
1054
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1055
+ end
1056
+ res
1057
+ end
1058
+
1059
+ sig { params(request: T.nilable(Operations::AtsListLocationsRequest)).returns(Utils::FieldAugmented) }
1060
+ def list_locations(request)
1061
+ # list_locations - List locations
1062
+ url, params = @sdk_configuration.get_server_details
1063
+ base_url = Utils.template_url(url, params)
1064
+ url = "#{base_url}/unified/ats/locations"
1065
+ headers = Utils.get_headers(request)
1066
+ query_params = Utils.get_query_params(Operations::AtsListLocationsRequest, request)
1067
+ headers['Accept'] = 'application/json'
1068
+ headers['user-agent'] = @sdk_configuration.user_agent
1069
+
1070
+ r = @sdk_configuration.client.get(url) do |req|
1071
+ req.headers = headers
1072
+ req.params = query_params
1073
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1074
+ end
1075
+
1076
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1077
+
1078
+ res = Operations::AtsListLocationsResponse.new(
1079
+ status_code: r.status, content_type: content_type, raw_response: r
1080
+ )
1081
+ if r.status == 200
1082
+ if Utils.match_content_type(content_type, 'application/json')
1083
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::ATSLocationsPaginated)
1084
+ res.ats_locations_paginated = out
1085
+ end
1086
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1087
+ end
1088
+ res
1089
+ end
1090
+
1091
+ sig { params(request: T.nilable(Operations::AtsListOffersRequest)).returns(Utils::FieldAugmented) }
1092
+ def list_offers(request)
1093
+ # list_offers - List Offers
1094
+ url, params = @sdk_configuration.get_server_details
1095
+ base_url = Utils.template_url(url, params)
1096
+ url = "#{base_url}/unified/ats/offers"
1097
+ headers = Utils.get_headers(request)
1098
+ query_params = Utils.get_query_params(Operations::AtsListOffersRequest, request)
1099
+ headers['Accept'] = 'application/json'
1100
+ headers['user-agent'] = @sdk_configuration.user_agent
1101
+
1102
+ r = @sdk_configuration.client.get(url) do |req|
1103
+ req.headers = headers
1104
+ req.params = query_params
1105
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1106
+ end
1107
+
1108
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1109
+
1110
+ res = Operations::AtsListOffersResponse.new(
1111
+ status_code: r.status, content_type: content_type, raw_response: r
1112
+ )
1113
+ if r.status == 200
1114
+ if Utils.match_content_type(content_type, 'application/json')
1115
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::OffersPaginated)
1116
+ res.offers_paginated = out
1117
+ end
1118
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1119
+ end
1120
+ res
1121
+ end
1122
+
1123
+ sig { params(request: T.nilable(Operations::AtsListRejectedReasonsRequest)).returns(Utils::FieldAugmented) }
1124
+ def list_rejected_reasons(request)
1125
+ # list_rejected_reasons - List Rejected Reasons
1126
+ url, params = @sdk_configuration.get_server_details
1127
+ base_url = Utils.template_url(url, params)
1128
+ url = "#{base_url}/unified/ats/rejected_reasons"
1129
+ headers = Utils.get_headers(request)
1130
+ query_params = Utils.get_query_params(Operations::AtsListRejectedReasonsRequest, request)
1131
+ headers['Accept'] = 'application/json'
1132
+ headers['user-agent'] = @sdk_configuration.user_agent
1133
+
1134
+ r = @sdk_configuration.client.get(url) do |req|
1135
+ req.headers = headers
1136
+ req.params = query_params
1137
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1138
+ end
1139
+
1140
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1141
+
1142
+ res = Operations::AtsListRejectedReasonsResponse.new(
1143
+ status_code: r.status, content_type: content_type, raw_response: r
1144
+ )
1145
+ if r.status == 200
1146
+ if Utils.match_content_type(content_type, 'application/json')
1147
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::RejectedReasonsPaginated)
1148
+ res.rejected_reasons_paginated = out
1149
+ end
1150
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1151
+ end
1152
+ res
1153
+ end
1154
+
1155
+ sig { params(request: T.nilable(Operations::AtsListUsersRequest)).returns(Utils::FieldAugmented) }
1156
+ def list_users(request)
1157
+ # list_users - List Users
1158
+ url, params = @sdk_configuration.get_server_details
1159
+ base_url = Utils.template_url(url, params)
1160
+ url = "#{base_url}/unified/ats/users"
1161
+ headers = Utils.get_headers(request)
1162
+ query_params = Utils.get_query_params(Operations::AtsListUsersRequest, request)
1163
+ headers['Accept'] = 'application/json'
1164
+ headers['user-agent'] = @sdk_configuration.user_agent
1165
+
1166
+ r = @sdk_configuration.client.get(url) do |req|
1167
+ req.headers = headers
1168
+ req.params = query_params
1169
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1170
+ end
1171
+
1172
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1173
+
1174
+ res = Operations::AtsListUsersResponse.new(
1175
+ status_code: r.status, content_type: content_type, raw_response: r
1176
+ )
1177
+ if r.status == 200
1178
+ if Utils.match_content_type(content_type, 'application/json')
1179
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::UsersPaginated)
1180
+ res.users_paginated = out
1181
+ end
1182
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1183
+ end
1184
+ res
1185
+ end
1186
+
1187
+ sig { params(ats_update_application_request_dto: Shared::AtsUpdateApplicationRequestDto, id: String, x_account_id: String).returns(Utils::FieldAugmented) }
1188
+ def update_application(ats_update_application_request_dto, id, x_account_id)
1189
+ # update_application - Update Application
1190
+ request = Operations::AtsUpdateApplicationRequest.new(
1191
+
1192
+ ats_update_application_request_dto: ats_update_application_request_dto,
1193
+ id: id,
1194
+ x_account_id: x_account_id
1195
+ )
1196
+ url, params = @sdk_configuration.get_server_details
1197
+ base_url = Utils.template_url(url, params)
1198
+ url = Utils.generate_url(
1199
+ Operations::AtsUpdateApplicationRequest,
1200
+ base_url,
1201
+ '/unified/ats/applications/{id}',
1202
+ request
1203
+ )
1204
+ headers = Utils.get_headers(request)
1205
+ req_content_type, data, form = Utils.serialize_request_body(request, :ats_update_application_request_dto, :json)
1206
+ headers['content-type'] = req_content_type
1207
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1208
+ headers['Accept'] = 'application/json'
1209
+ headers['user-agent'] = @sdk_configuration.user_agent
1210
+
1211
+ r = @sdk_configuration.client.patch(url) do |req|
1212
+ req.headers = headers
1213
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1214
+ if form
1215
+ req.body = Utils.encode_form(form)
1216
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1217
+ req.body = URI.encode_www_form(data)
1218
+ else
1219
+ req.body = data
1220
+ end
1221
+ end
1222
+
1223
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1224
+
1225
+ res = Operations::AtsUpdateApplicationResponse.new(
1226
+ status_code: r.status, content_type: content_type, raw_response: r
1227
+ )
1228
+ if r.status == 200
1229
+ if Utils.match_content_type(content_type, 'application/json')
1230
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::UpdateResult)
1231
+ res.update_result = out
1232
+ end
1233
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1234
+ end
1235
+ res
1236
+ end
1237
+
1238
+ sig { params(ats_update_candidates_request_dto: Shared::AtsUpdateCandidatesRequestDto, id: String, x_account_id: String).returns(Utils::FieldAugmented) }
1239
+ def update_candidate(ats_update_candidates_request_dto, id, x_account_id)
1240
+ # update_candidate - Update Candidate (early access)
1241
+ request = Operations::AtsUpdateCandidateRequest.new(
1242
+
1243
+ ats_update_candidates_request_dto: ats_update_candidates_request_dto,
1244
+ id: id,
1245
+ x_account_id: x_account_id
1246
+ )
1247
+ url, params = @sdk_configuration.get_server_details
1248
+ base_url = Utils.template_url(url, params)
1249
+ url = Utils.generate_url(
1250
+ Operations::AtsUpdateCandidateRequest,
1251
+ base_url,
1252
+ '/unified/ats/candidates/{id}',
1253
+ request
1254
+ )
1255
+ headers = Utils.get_headers(request)
1256
+ req_content_type, data, form = Utils.serialize_request_body(request, :ats_update_candidates_request_dto, :json)
1257
+ headers['content-type'] = req_content_type
1258
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
1259
+ headers['Accept'] = 'application/json'
1260
+ headers['user-agent'] = @sdk_configuration.user_agent
1261
+
1262
+ r = @sdk_configuration.client.patch(url) do |req|
1263
+ req.headers = headers
1264
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
1265
+ if form
1266
+ req.body = Utils.encode_form(form)
1267
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
1268
+ req.body = URI.encode_www_form(data)
1269
+ else
1270
+ req.body = data
1271
+ end
1272
+ end
1273
+
1274
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
1275
+
1276
+ res = Operations::AtsUpdateCandidateResponse.new(
1277
+ status_code: r.status, content_type: content_type, raw_response: r
1278
+ )
1279
+ if r.status == 200
1280
+ if Utils.match_content_type(content_type, 'application/json')
1281
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CandidateResult)
1282
+ res.candidate_result = out
1283
+ end
1284
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
1285
+ end
1286
+ res
1287
+ end
1288
+ end
1289
+ end