open_api_smart_recruiters_sdk 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +13 -0
  4. data/Gemfile +16 -0
  5. data/Gemfile.lock +65 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +35 -0
  8. data/Rakefile +12 -0
  9. data/lib/smart_recruiters/api/application_api_api.rb +188 -0
  10. data/lib/smart_recruiters/api/candidates_api.rb +2417 -0
  11. data/lib/smart_recruiters/api/configuration_api.rb +2504 -0
  12. data/lib/smart_recruiters/api/job_applications_api.rb +63 -0
  13. data/lib/smart_recruiters/api/jobs_api.rb +1851 -0
  14. data/lib/smart_recruiters/api/subscriptions_api.rb +469 -0
  15. data/lib/smart_recruiters/api_client.rb +379 -0
  16. data/lib/smart_recruiters/api_error.rb +46 -0
  17. data/lib/smart_recruiters/authorization.rb +66 -0
  18. data/lib/smart_recruiters/configuration.rb +214 -0
  19. data/lib/smart_recruiters/models/action.rb +248 -0
  20. data/lib/smart_recruiters/models/actions.rb +190 -0
  21. data/lib/smart_recruiters/models/all_of_candidate_details_primary_assignment.rb +262 -0
  22. data/lib/smart_recruiters/models/all_of_candidate_details_secondary_assignments_items.rb +262 -0
  23. data/lib/smart_recruiters/models/answer_field.rb +227 -0
  24. data/lib/smart_recruiters/models/answer_field_value.rb +216 -0
  25. data/lib/smart_recruiters/models/answer_record.rb +197 -0
  26. data/lib/smart_recruiters/models/application.rb +260 -0
  27. data/lib/smart_recruiters/models/application_attachment_webhook_payload.rb +248 -0
  28. data/lib/smart_recruiters/models/application_status_info.rb +231 -0
  29. data/lib/smart_recruiters/models/application_url.rb +198 -0
  30. data/lib/smart_recruiters/models/application_webhook_payload.rb +230 -0
  31. data/lib/smart_recruiters/models/apply_api_error.rb +259 -0
  32. data/lib/smart_recruiters/models/apply_api_request.rb +386 -0
  33. data/lib/smart_recruiters/models/apply_api_response.rb +224 -0
  34. data/lib/smart_recruiters/models/apply_configuration.rb +229 -0
  35. data/lib/smart_recruiters/models/apply_settings.rb +197 -0
  36. data/lib/smart_recruiters/models/assignment.rb +251 -0
  37. data/lib/smart_recruiters/models/assignment_actions.rb +197 -0
  38. data/lib/smart_recruiters/models/attachment.rb +230 -0
  39. data/lib/smart_recruiters/models/attachment_actions.rb +202 -0
  40. data/lib/smart_recruiters/models/attachments.rb +218 -0
  41. data/lib/smart_recruiters/models/callback_authentication.rb +188 -0
  42. data/lib/smart_recruiters/models/callback_basic_auth.rb +249 -0
  43. data/lib/smart_recruiters/models/callback_header_auth.rb +250 -0
  44. data/lib/smart_recruiters/models/callback_o_auth2_auth.rb +262 -0
  45. data/lib/smart_recruiters/models/callback_request.rb +216 -0
  46. data/lib/smart_recruiters/models/callback_request_request_details.rb +219 -0
  47. data/lib/smart_recruiters/models/callback_request_status.rb +19 -0
  48. data/lib/smart_recruiters/models/callback_requests.rb +192 -0
  49. data/lib/smart_recruiters/models/callback_url.rb +188 -0
  50. data/lib/smart_recruiters/models/candidate.rb +349 -0
  51. data/lib/smart_recruiters/models/candidate_actions.rb +216 -0
  52. data/lib/smart_recruiters/models/candidate_attachment_for_job.rb +253 -0
  53. data/lib/smart_recruiters/models/candidate_attachment_for_job_actions.rb +216 -0
  54. data/lib/smart_recruiters/models/candidate_attachments_for_job.rb +218 -0
  55. data/lib/smart_recruiters/models/candidate_consent.rb +197 -0
  56. data/lib/smart_recruiters/models/candidate_consent_decisions.rb +213 -0
  57. data/lib/smart_recruiters/models/candidate_consent_status.rb +212 -0
  58. data/lib/smart_recruiters/models/candidate_details.rb +349 -0
  59. data/lib/smart_recruiters/models/candidate_details_actions.rb +229 -0
  60. data/lib/smart_recruiters/models/candidate_input.rb +308 -0
  61. data/lib/smart_recruiters/models/candidate_job.rb +216 -0
  62. data/lib/smart_recruiters/models/candidate_location.rb +251 -0
  63. data/lib/smart_recruiters/models/candidate_primary_assignment.rb +225 -0
  64. data/lib/smart_recruiters/models/candidate_primary_assignment_job.rb +230 -0
  65. data/lib/smart_recruiters/models/candidate_primary_assignment_job_actions.rb +202 -0
  66. data/lib/smart_recruiters/models/candidate_properties.rb +199 -0
  67. data/lib/smart_recruiters/models/candidate_property.rb +268 -0
  68. data/lib/smart_recruiters/models/candidate_property_actions.rb +202 -0
  69. data/lib/smart_recruiters/models/candidate_property_availability.rb +253 -0
  70. data/lib/smart_recruiters/models/candidate_property_definition.rb +233 -0
  71. data/lib/smart_recruiters/models/candidate_property_definition_list.rb +208 -0
  72. data/lib/smart_recruiters/models/candidate_property_filter.rb +215 -0
  73. data/lib/smart_recruiters/models/candidate_property_filter_values.rb +208 -0
  74. data/lib/smart_recruiters/models/candidate_property_input_value.rb +198 -0
  75. data/lib/smart_recruiters/models/candidate_property_type.rb +27 -0
  76. data/lib/smart_recruiters/models/candidate_property_value.rb +212 -0
  77. data/lib/smart_recruiters/models/candidate_property_value_label.rb +202 -0
  78. data/lib/smart_recruiters/models/candidate_property_value_list.rb +208 -0
  79. data/lib/smart_recruiters/models/candidate_secondary_assignments.rb +202 -0
  80. data/lib/smart_recruiters/models/candidate_source.rb +225 -0
  81. data/lib/smart_recruiters/models/candidate_status.rb +230 -0
  82. data/lib/smart_recruiters/models/candidate_status_enum.rb +26 -0
  83. data/lib/smart_recruiters/models/candidate_status_history_list.rb +208 -0
  84. data/lib/smart_recruiters/models/candidate_status_history_list_elem.rb +224 -0
  85. data/lib/smart_recruiters/models/candidate_tags.rb +204 -0
  86. data/lib/smart_recruiters/models/candidate_webhook_payload.rb +202 -0
  87. data/lib/smart_recruiters/models/candidates.rb +255 -0
  88. data/lib/smart_recruiters/models/company_configuration.rb +246 -0
  89. data/lib/smart_recruiters/models/compensation.rb +215 -0
  90. data/lib/smart_recruiters/models/consent_decision.rb +226 -0
  91. data/lib/smart_recruiters/models/consent_decision_status.rb +20 -0
  92. data/lib/smart_recruiters/models/consent_request.rb +203 -0
  93. data/lib/smart_recruiters/models/consent_request_scheduled.rb +250 -0
  94. data/lib/smart_recruiters/models/consent_request_scheduled_body.rb +197 -0
  95. data/lib/smart_recruiters/models/consent_request_unavailable.rb +245 -0
  96. data/lib/smart_recruiters/models/consent_requests_results.rb +204 -0
  97. data/lib/smart_recruiters/models/consent_scope.rb +22 -0
  98. data/lib/smart_recruiters/models/consent_status.rb +20 -0
  99. data/lib/smart_recruiters/models/department.rb +220 -0
  100. data/lib/smart_recruiters/models/departments.rb +208 -0
  101. data/lib/smart_recruiters/models/dependent_job_properties.rb +218 -0
  102. data/lib/smart_recruiters/models/dependent_job_properties_ids.rb +204 -0
  103. data/lib/smart_recruiters/models/dependent_job_property.rb +216 -0
  104. data/lib/smart_recruiters/models/dependent_job_property_value.rb +220 -0
  105. data/lib/smart_recruiters/models/dependent_job_property_values.rb +208 -0
  106. data/lib/smart_recruiters/models/dependent_job_property_values_relation.rb +218 -0
  107. data/lib/smart_recruiters/models/dependent_job_property_values_relations.rb +218 -0
  108. data/lib/smart_recruiters/models/education.rb +270 -0
  109. data/lib/smart_recruiters/models/email_address.rb +188 -0
  110. data/lib/smart_recruiters/models/employment.rb +261 -0
  111. data/lib/smart_recruiters/models/error.rb +211 -0
  112. data/lib/smart_recruiters/models/error_response.rb +208 -0
  113. data/lib/smart_recruiters/models/event.rb +206 -0
  114. data/lib/smart_recruiters/models/event_name.rb +64 -0
  115. data/lib/smart_recruiters/models/experience.rb +251 -0
  116. data/lib/smart_recruiters/models/field_value.rb +216 -0
  117. data/lib/smart_recruiters/models/headcount_patch_request.rb +197 -0
  118. data/lib/smart_recruiters/models/headcount_update_accepted.rb +231 -0
  119. data/lib/smart_recruiters/models/hiring_process.rb +224 -0
  120. data/lib/smart_recruiters/models/hiring_process_sub_statuses.rb +221 -0
  121. data/lib/smart_recruiters/models/hiring_processes.rb +218 -0
  122. data/lib/smart_recruiters/models/hiring_team_member.rb +220 -0
  123. data/lib/smart_recruiters/models/hiring_team_member_response.rb +215 -0
  124. data/lib/smart_recruiters/models/hiring_team_member_response_actions.rb +202 -0
  125. data/lib/smart_recruiters/models/hiring_team_member_role.rb +22 -0
  126. data/lib/smart_recruiters/models/hiring_team_members.rb +208 -0
  127. data/lib/smart_recruiters/models/id_attachments_body.rb +249 -0
  128. data/lib/smart_recruiters/models/identifiable.rb +202 -0
  129. data/lib/smart_recruiters/models/industry.rb +207 -0
  130. data/lib/smart_recruiters/models/job.rb +197 -0
  131. data/lib/smart_recruiters/models/job_ad.rb +206 -0
  132. data/lib/smart_recruiters/models/job_ad_content.rb +220 -0
  133. data/lib/smart_recruiters/models/job_ad_input.rb +206 -0
  134. data/lib/smart_recruiters/models/job_ad_item.rb +397 -0
  135. data/lib/smart_recruiters/models/job_ad_item_actions.rb +202 -0
  136. data/lib/smart_recruiters/models/job_ad_language.rb +202 -0
  137. data/lib/smart_recruiters/models/job_ad_postings_webhook_payload.rb +216 -0
  138. data/lib/smart_recruiters/models/job_ad_publication_scheduled.rb +231 -0
  139. data/lib/smart_recruiters/models/job_ad_section.rb +206 -0
  140. data/lib/smart_recruiters/models/job_ad_sections.rb +233 -0
  141. data/lib/smart_recruiters/models/job_ad_unpublish_scheduled.rb +231 -0
  142. data/lib/smart_recruiters/models/job_ad_videos.rb +199 -0
  143. data/lib/smart_recruiters/models/job_ad_webhook_payload.rb +216 -0
  144. data/lib/smart_recruiters/models/job_ads.rb +192 -0
  145. data/lib/smart_recruiters/models/job_application.rb +242 -0
  146. data/lib/smart_recruiters/models/job_application_status.rb +26 -0
  147. data/lib/smart_recruiters/models/job_approval.rb +217 -0
  148. data/lib/smart_recruiters/models/job_approval_position.rb +251 -0
  149. data/lib/smart_recruiters/models/job_approval_webhook_payload.rb +216 -0
  150. data/lib/smart_recruiters/models/job_details.rb +394 -0
  151. data/lib/smart_recruiters/models/job_details_actions.rb +233 -0
  152. data/lib/smart_recruiters/models/job_id_attachments_body.rb +249 -0
  153. data/lib/smart_recruiters/models/job_input.rb +341 -0
  154. data/lib/smart_recruiters/models/job_job.rb +215 -0
  155. data/lib/smart_recruiters/models/job_job_actions.rb +211 -0
  156. data/lib/smart_recruiters/models/job_location_input.rb +252 -0
  157. data/lib/smart_recruiters/models/job_note.rb +202 -0
  158. data/lib/smart_recruiters/models/job_position.rb +256 -0
  159. data/lib/smart_recruiters/models/job_position_input.rb +282 -0
  160. data/lib/smart_recruiters/models/job_positions.rb +218 -0
  161. data/lib/smart_recruiters/models/job_property.rb +225 -0
  162. data/lib/smart_recruiters/models/job_property_definition.rb +300 -0
  163. data/lib/smart_recruiters/models/job_property_definition_creation_request.rb +282 -0
  164. data/lib/smart_recruiters/models/job_property_definition_list.rb +208 -0
  165. data/lib/smart_recruiters/models/job_property_input.rb +220 -0
  166. data/lib/smart_recruiters/models/job_property_value.rb +206 -0
  167. data/lib/smart_recruiters/models/job_property_value_definition.rb +220 -0
  168. data/lib/smart_recruiters/models/job_property_value_definition_list.rb +208 -0
  169. data/lib/smart_recruiters/models/job_status.rb +25 -0
  170. data/lib/smart_recruiters/models/job_status_history.rb +216 -0
  171. data/lib/smart_recruiters/models/job_status_history_actions.rb +202 -0
  172. data/lib/smart_recruiters/models/job_status_history_content.rb +220 -0
  173. data/lib/smart_recruiters/models/job_status_update.rb +202 -0
  174. data/lib/smart_recruiters/models/job_summary.rb +302 -0
  175. data/lib/smart_recruiters/models/job_webhook_payload.rb +202 -0
  176. data/lib/smart_recruiters/models/jobs.rb +235 -0
  177. data/lib/smart_recruiters/models/json_patch.rb +192 -0
  178. data/lib/smart_recruiters/models/json_pointer.rb +188 -0
  179. data/lib/smart_recruiters/models/label_translation.rb +216 -0
  180. data/lib/smart_recruiters/models/label_translations.rb +192 -0
  181. data/lib/smart_recruiters/models/labeled.rb +202 -0
  182. data/lib/smart_recruiters/models/language.rb +220 -0
  183. data/lib/smart_recruiters/models/language_code.rb +87 -0
  184. data/lib/smart_recruiters/models/location.rb +251 -0
  185. data/lib/smart_recruiters/models/model_when.rb +189 -0
  186. data/lib/smart_recruiters/models/offer_approval_webhook_payload.rb +244 -0
  187. data/lib/smart_recruiters/models/offer_properties_category.rb +208 -0
  188. data/lib/smart_recruiters/models/offer_properties_definition.rb +199 -0
  189. data/lib/smart_recruiters/models/offer_property_definition.rb +258 -0
  190. data/lib/smart_recruiters/models/offer_webhook_payload.rb +230 -0
  191. data/lib/smart_recruiters/models/onboarding_assignments_completed_webhook_payload.rb +216 -0
  192. data/lib/smart_recruiters/models/onboarding_high_priority_assignments_completed_webhook_payload.rb +216 -0
  193. data/lib/smart_recruiters/models/onboarding_process_webhook_payload.rb +216 -0
  194. data/lib/smart_recruiters/models/onboarding_status.rb +236 -0
  195. data/lib/smart_recruiters/models/one_of_candidate_property_value.rb +188 -0
  196. data/lib/smart_recruiters/models/one_of_consent_requests_results_results_items.rb +188 -0
  197. data/lib/smart_recruiters/models/one_of_json_patch_items.rb +188 -0
  198. data/lib/smart_recruiters/models/path.rb +202 -0
  199. data/lib/smart_recruiters/models/personal_details.rb +242 -0
  200. data/lib/smart_recruiters/models/position_webhook_payload.rb +216 -0
  201. data/lib/smart_recruiters/models/posting_status.rb +21 -0
  202. data/lib/smart_recruiters/models/privacy_policy.rb +206 -0
  203. data/lib/smart_recruiters/models/properties.rb +208 -0
  204. data/lib/smart_recruiters/models/property.rb +211 -0
  205. data/lib/smart_recruiters/models/publication.rb +244 -0
  206. data/lib/smart_recruiters/models/publication_list.rb +204 -0
  207. data/lib/smart_recruiters/models/publication_list_item.rb +239 -0
  208. data/lib/smart_recruiters/models/relation_job_property_value.rb +211 -0
  209. data/lib/smart_recruiters/models/review_webhook_payload.rb +216 -0
  210. data/lib/smart_recruiters/models/salary_range.rb +215 -0
  211. data/lib/smart_recruiters/models/screening_answer.rb +313 -0
  212. data/lib/smart_recruiters/models/screening_answers.rb +218 -0
  213. data/lib/smart_recruiters/models/screening_question.rb +246 -0
  214. data/lib/smart_recruiters/models/screening_question_answer.rb +218 -0
  215. data/lib/smart_recruiters/models/screening_question_field.rb +315 -0
  216. data/lib/smart_recruiters/models/screening_questions_answers_webhook_payload.rb +230 -0
  217. data/lib/smart_recruiters/models/secret_key_payload.rb +197 -0
  218. data/lib/smart_recruiters/models/source.rb +244 -0
  219. data/lib/smart_recruiters/models/source_actions.rb +202 -0
  220. data/lib/smart_recruiters/models/source_definition.rb +230 -0
  221. data/lib/smart_recruiters/models/source_details.rb +225 -0
  222. data/lib/smart_recruiters/models/source_types.rb +218 -0
  223. data/lib/smart_recruiters/models/source_types_actions.rb +202 -0
  224. data/lib/smart_recruiters/models/source_types_content.rb +246 -0
  225. data/lib/smart_recruiters/models/sources.rb +246 -0
  226. data/lib/smart_recruiters/models/subscription.rb +270 -0
  227. data/lib/smart_recruiters/models/subscription_request.rb +236 -0
  228. data/lib/smart_recruiters/models/subscriptions.rb +192 -0
  229. data/lib/smart_recruiters/models/user_identity.rb +215 -0
  230. data/lib/smart_recruiters/models/uuid.rb +188 -0
  231. data/lib/smart_recruiters/models/valid_job_status.rb +24 -0
  232. data/lib/smart_recruiters/models/web.rb +233 -0
  233. data/lib/smart_recruiters/models/web_profile.rb +233 -0
  234. data/lib/smart_recruiters/version.rb +5 -0
  235. data/lib/smart_recruiters.rb +46 -0
  236. data/open_api_smart_recruiters_sdk.gemspec +45 -0
  237. data/sig/smart_recruiters.rbs +4 -0
  238. metadata +367 -0
@@ -0,0 +1,2417 @@
1
+ module SmartRecruiters
2
+ class CandidatesApi
3
+ attr_accessor :api_client
4
+
5
+ def initialize(api_client = ApiClient.default)
6
+ @api_client = api_client
7
+ end
8
+ # Create a new candidate and assign to a Talent Pool
9
+ # Create a new candidate and assign to a Talent Pool. **Tracking candidate source** When adding a new candidate, it's very important you track its source appropriately. In order to associate a source with your app/integration, add below object to a candidate body object for this endpoint: ``` { \"sourceDetails\": { \"sourceTypeId\": \"string\", \"sourceSubTypeId\": \"string\", \"sourceId\": \"string\" } } ``` **sourceTypeId** - it's a Source Type - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceSubTypeId** - it's a Source Subtype, an optional parameter - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceId** - it's a Source Id - available values for a given sourceTypeId can be found using [get /configuration/sources/:sourceTypeId/values](https://developers.smartrecruiters.com/reference/configurationsourcevaluesall-1) endpoint NOTE: Not defining the source will default to **API** source. NOTE II: In case you can't find an appropriate source to track against you can: * Create a custom source for each customer account separately on [this admin page](https://www.smartrecruiters.com/settings/configuration/custom-sources) (you need to be logged in as an admin to the customer account in order to view this page) * Request to [partners@smartrecruiters.com](mailto:partners@smartrecruiters.com) adding a standard source that will be available for all customers if your app/integration is productised (available to all SmartRecruiters customers)
10
+ # @param body Candidate object that needs to be created.
11
+ # @param [Hash] opts the optional parameters
12
+ # @return [CandidateDetails]
13
+ def candidates_add(body, opts = {})
14
+ data, _status_code, _headers = candidates_add_with_http_info(body, opts)
15
+ data
16
+ end
17
+
18
+ # Create a new candidate and assign to a Talent Pool
19
+ # Create a new candidate and assign to a Talent Pool. **Tracking candidate source** When adding a new candidate, it's very important you track its source appropriately. In order to associate a source with your app/integration, add below object to a candidate body object for this endpoint: ``` { \"sourceDetails\": { \"sourceTypeId\": \"string\", \"sourceSubTypeId\": \"string\", \"sourceId\": \"string\" } } ``` **sourceTypeId** - it's a Source Type - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceSubTypeId** - it's a Source Subtype, an optional parameter - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceId** - it's a Source Id - available values for a given sourceTypeId can be found using [get /configuration/sources/:sourceTypeId/values](https://developers.smartrecruiters.com/reference/configurationsourcevaluesall-1) endpoint NOTE: Not defining the source will default to **API** source. NOTE II: In case you can't find an appropriate source to track against you can: * Create a custom source for each customer account separately on [this admin page](https://www.smartrecruiters.com/settings/configuration/custom-sources) (you need to be logged in as an admin to the customer account in order to view this page) * Request to [partners@smartrecruiters.com](mailto:partners@smartrecruiters.com) adding a standard source that will be available for all customers if your app/integration is productised (available to all SmartRecruiters customers)
20
+ # @param body Candidate object that needs to be created.
21
+ # @param [Hash] opts the optional parameters
22
+ # @return [Array<(CandidateDetails, Integer, Hash)>] CandidateDetails data, response status code and response headers
23
+ def candidates_add_with_http_info(body, opts = {})
24
+ if @api_client.config.debugging
25
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_add ...'
26
+ end
27
+ # verify the required parameter 'body' is set
28
+ if @api_client.config.client_side_validation && body.nil?
29
+ fail ArgumentError, "Missing the required parameter 'body' when calling CandidatesApi.candidates_add"
30
+ end
31
+ # resource path
32
+ local_var_path = '/candidates'
33
+
34
+ # query parameters
35
+ query_params = opts[:query_params] || {}
36
+
37
+ # header parameters
38
+ header_params = opts[:header_params] || {}
39
+ # HTTP header 'Accept' (if needed)
40
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
41
+ # HTTP header 'Content-Type'
42
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
43
+
44
+ # form parameters
45
+ form_params = opts[:form_params] || {}
46
+
47
+ # http body (model)
48
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
49
+
50
+ return_type = opts[:return_type] || 'CandidateDetails'
51
+
52
+ auth_names = opts[:auth_names] || ['key', 'oauth']
53
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
54
+ :header_params => header_params,
55
+ :query_params => query_params,
56
+ :form_params => form_params,
57
+ :body => post_body,
58
+ :auth_names => auth_names,
59
+ :return_type => return_type)
60
+
61
+ if @api_client.config.debugging
62
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_add\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
63
+ end
64
+ return data, status_code, headers
65
+ end
66
+ # Create a new candidate and assign to a job
67
+ # Create a new candidate and assign to a job. **Tracking candidate source** When adding a new candidate, it's very important you track its source appropriately. In order to associate a source with your app / integration, add the below object to a candidate body object for this endpoint: ``` { \"sourceDetails\": { \"sourceTypeId\": \"string\", \"sourceSubTypeId\": \"string\", \"sourceId\": \"string\" } } ``` **sourceTypeId** - it's a Source Type - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceSubTypeId** - it's a Source Subtype, an optional parameter - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceId** - it's a Source Id - available values for a given sourceTypeId can be found using [get /configuration/sources/:sourceTypeId/values](https://developers.smartrecruiters.com/reference/configurationsourcevaluesall-1) endpoint NOTE: Not defining the source will default to **API** source. NOTE II: In case you can't find an appropriate source to track against you can: * Create a custom source for each customer account separately on [this admin page](https://www.smartrecruiters.com/settings/configuration/custom-sources\\) (you need to be logged in as an admin to the customer account in order to view this page) * Request to [partners@smartrecruiters.com](mailto:partners@smartrecruiters.com) adding a standard source that will be available for all customers if your app / integration is productised (available to all SmartRecruiters customers)
68
+ # @param body Candidate object that needs to be created.
69
+ # @param job_id job identifier
70
+ # @param [Hash] opts the optional parameters
71
+ # @return [CandidateDetails]
72
+ def candidates_add_to_job(body, job_id, opts = {})
73
+ data, _status_code, _headers = candidates_add_to_job_with_http_info(body, job_id, opts)
74
+ data
75
+ end
76
+
77
+ # Create a new candidate and assign to a job
78
+ # Create a new candidate and assign to a job. **Tracking candidate source** When adding a new candidate, it&#x27;s very important you track its source appropriately. In order to associate a source with your app / integration, add the below object to a candidate body object for this endpoint: &#x60;&#x60;&#x60; { \&quot;sourceDetails\&quot;: { \&quot;sourceTypeId\&quot;: \&quot;string\&quot;, \&quot;sourceSubTypeId\&quot;: \&quot;string\&quot;, \&quot;sourceId\&quot;: \&quot;string\&quot; } } &#x60;&#x60;&#x60; **sourceTypeId** - it&#x27;s a Source Type - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceSubTypeId** - it&#x27;s a Source Subtype, an optional parameter - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceId** - it&#x27;s a Source Id - available values for a given sourceTypeId can be found using [get /configuration/sources/:sourceTypeId/values](https://developers.smartrecruiters.com/reference/configurationsourcevaluesall-1) endpoint NOTE: Not defining the source will default to **API** source. NOTE II: In case you can&#x27;t find an appropriate source to track against you can: * Create a custom source for each customer account separately on [this admin page](https://www.smartrecruiters.com/settings/configuration/custom-sources\\) (you need to be logged in as an admin to the customer account in order to view this page) * Request to [partners@smartrecruiters.com](mailto:partners@smartrecruiters.com) adding a standard source that will be available for all customers if your app / integration is productised (available to all SmartRecruiters customers)
79
+ # @param body Candidate object that needs to be created.
80
+ # @param job_id job identifier
81
+ # @param [Hash] opts the optional parameters
82
+ # @return [Array<(CandidateDetails, Integer, Hash)>] CandidateDetails data, response status code and response headers
83
+ def candidates_add_to_job_with_http_info(body, job_id, opts = {})
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_add_to_job ...'
86
+ end
87
+ # verify the required parameter 'body' is set
88
+ if @api_client.config.client_side_validation && body.nil?
89
+ fail ArgumentError, "Missing the required parameter 'body' when calling CandidatesApi.candidates_add_to_job"
90
+ end
91
+ # verify the required parameter 'job_id' is set
92
+ if @api_client.config.client_side_validation && job_id.nil?
93
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_add_to_job"
94
+ end
95
+ # resource path
96
+ local_var_path = '/jobs/{jobId}/candidates'.sub('{' + 'jobId' + '}', job_id.to_s)
97
+
98
+ # query parameters
99
+ query_params = opts[:query_params] || {}
100
+
101
+ # header parameters
102
+ header_params = opts[:header_params] || {}
103
+ # HTTP header 'Accept' (if needed)
104
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
105
+ # HTTP header 'Content-Type'
106
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
107
+
108
+ # form parameters
109
+ form_params = opts[:form_params] || {}
110
+
111
+ # http body (model)
112
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
113
+
114
+ return_type = opts[:return_type] || 'CandidateDetails'
115
+
116
+ auth_names = opts[:auth_names] || ['key', 'oauth']
117
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
118
+ :header_params => header_params,
119
+ :query_params => query_params,
120
+ :form_params => form_params,
121
+ :body => post_body,
122
+ :auth_names => auth_names,
123
+ :return_type => return_type)
124
+
125
+ if @api_client.config.debugging
126
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_add_to_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
127
+ end
128
+ return data, status_code, headers
129
+ end
130
+ # Search candidates
131
+ # @param [Hash] opts the optional parameters
132
+ # @option opts [String] :q keyword search, for more infromation see [SmartRecruiters HelpCenter](https://help.smartrecruiters.com/Getting_Started/Platform/Searching_candidates_via_Candidate_API)
133
+ # @option opts [Integer] :limit number of elements to return. max value is 100 (default to 10)
134
+ # @option opts [String] :page_id page identifier of elements to return The &#x60;pageId&#x60; param can be used to fetch multiple page response, in case the number of results is higher than max number of elements to return (specified in the &#x60;limit&#x60; parameter). The &#x60;pageId&#x60; should not be present when requesting the first page of results. The pageId of the following page is returned either in the &#x60;nextPageId&#x60; property, or is available in the HTTP header &#x60;Link&#x60; value of relation type &#x60;next&#x60;. Example of the &#x60;Link&#x60; header: &#x60;&#x60;&#x60; &lt;/candidates?limit&#x3D;10&amp;pageId&#x3D;SKYfn51wTboVGco6%2FvIsIC%2FYbyYP%2F4WgqHLArvCRtYhQEMCgvp1Zj0ya0wpjfKIblyGRcbHytMcvCehVazcjQA%3D%3D&gt;; rel&#x3D;\&quot;next\&quot; &#x60;&#x60;&#x60;
135
+ # @option opts [Array<String>] :job_id job filter to display candidates who applied for a job [id]; can be used repeatedly;
136
+ # @option opts [Array<String>] :location location keyword search which looks up a string in a candidate’s location data; can be used repeatedly; case insensitive; e.g. Krakow
137
+ # @option opts [Array<Integer>] :average_rating average rating filter to display candidates with a specific average rating (integer); can be used repeatedly; e.g. 4
138
+ # @option opts [Array<String>] :status candidate’s status filter in a context of a job; can be used repeatedly
139
+ # @option opts [Array<ConsentStatus>] :consent_status candidate’s consent status filter; can be used repeatedly
140
+ # @option opts [String] :sub_status candidate’s sub-status filter in a context of a job. Works only in a correlation with a set value for the \&quot;status\&quot; field.
141
+ # @option opts [Array<String>] :tag tag assigned to a candidate; can be used repeatedly; case insensitive; e.g. fluent english
142
+ # @option opts [DateTime] :updated_after ISO8601-formatted time boundaries for the candidate update time, Format: yyyy-MM-ddTHH:mm:ss.SSSZZ
143
+ # @option opts [String] :onboarding_status candidate&#x27;s onboarding status
144
+ # @option opts [Array<String>] :property_id candidate&#x27;s property id (1-N) (default to [])
145
+ # @option opts [Array<String>] :property_value_id candidate&#x27;s property value id (1-N) (default to [])
146
+ # @option opts [Array<String>] :source_type candidate&#x27;s source type (1-N) (default to [])
147
+ # @option opts [Array<String>] :source_sub_type candidate&#x27;s source subtype (1-N) (default to [])
148
+ # @option opts [Array<String>] :source_value_id candidate&#x27;s source value id (1-N) (default to [])
149
+ # @option opts [Array<String>] :question_category screening question category (1-N) (default to [])
150
+ # @option opts [Array<String>] :question_field_id screening question field id (1-N) (default to [])
151
+ # @option opts [Array<String>] :question_field_value_id screening question field value id (1-N) (default to [])
152
+ # @return [Candidates]
153
+ def candidates_all(opts = {})
154
+ data, _status_code, _headers = candidates_all_with_http_info(opts)
155
+ data
156
+ end
157
+
158
+ # Search candidates
159
+ # @param [Hash] opts the optional parameters
160
+ # @option opts [String] :q keyword search, for more infromation see [SmartRecruiters HelpCenter](https://help.smartrecruiters.com/Getting_Started/Platform/Searching_candidates_via_Candidate_API)
161
+ # @option opts [Integer] :limit number of elements to return. max value is 100
162
+ # @option opts [String] :page_id page identifier of elements to return The &#x60;pageId&#x60; param can be used to fetch multiple page response, in case the number of results is higher than max number of elements to return (specified in the &#x60;limit&#x60; parameter). The &#x60;pageId&#x60; should not be present when requesting the first page of results. The pageId of the following page is returned either in the &#x60;nextPageId&#x60; property, or is available in the HTTP header &#x60;Link&#x60; value of relation type &#x60;next&#x60;. Example of the &#x60;Link&#x60; header: &#x60;&#x60;&#x60; &lt;/candidates?limit&#x3D;10&amp;pageId&#x3D;SKYfn51wTboVGco6%2FvIsIC%2FYbyYP%2F4WgqHLArvCRtYhQEMCgvp1Zj0ya0wpjfKIblyGRcbHytMcvCehVazcjQA%3D%3D&gt;; rel&#x3D;\&quot;next\&quot; &#x60;&#x60;&#x60;
163
+ # @option opts [Array<String>] :job_id job filter to display candidates who applied for a job [id]; can be used repeatedly;
164
+ # @option opts [Array<String>] :location location keyword search which looks up a string in a candidate’s location data; can be used repeatedly; case insensitive; e.g. Krakow
165
+ # @option opts [Array<Integer>] :average_rating average rating filter to display candidates with a specific average rating (integer); can be used repeatedly; e.g. 4
166
+ # @option opts [Array<String>] :status candidate’s status filter in a context of a job; can be used repeatedly
167
+ # @option opts [Array<ConsentStatus>] :consent_status candidate’s consent status filter; can be used repeatedly
168
+ # @option opts [String] :sub_status candidate’s sub-status filter in a context of a job. Works only in a correlation with a set value for the \&quot;status\&quot; field.
169
+ # @option opts [Array<String>] :tag tag assigned to a candidate; can be used repeatedly; case insensitive; e.g. fluent english
170
+ # @option opts [DateTime] :updated_after ISO8601-formatted time boundaries for the candidate update time, Format: yyyy-MM-ddTHH:mm:ss.SSSZZ
171
+ # @option opts [String] :onboarding_status candidate&#x27;s onboarding status
172
+ # @option opts [Array<String>] :property_id candidate&#x27;s property id (1-N)
173
+ # @option opts [Array<String>] :property_value_id candidate&#x27;s property value id (1-N)
174
+ # @option opts [Array<String>] :source_type candidate&#x27;s source type (1-N)
175
+ # @option opts [Array<String>] :source_sub_type candidate&#x27;s source subtype (1-N)
176
+ # @option opts [Array<String>] :source_value_id candidate&#x27;s source value id (1-N)
177
+ # @option opts [Array<String>] :question_category screening question category (1-N)
178
+ # @option opts [Array<String>] :question_field_id screening question field id (1-N)
179
+ # @option opts [Array<String>] :question_field_value_id screening question field value id (1-N)
180
+ # @return [Array<(Candidates, Integer, Hash)>] Candidates data, response status code and response headers
181
+ def candidates_all_with_http_info(opts = {})
182
+ if @api_client.config.debugging
183
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_all ...'
184
+ end
185
+ if @api_client.config.client_side_validation && opts[:'status'] && !opts[:'status'].all? { |item| ['LEAD', 'NEW', 'IN_REVIEW', 'INTERVIEW', 'OFFERED', 'HIRED', 'REJECTED', 'WITHDRAWN', 'TRANSFERRED'].include?(item) }
186
+ fail ArgumentError, 'invalid value for "status", must include one of LEAD, NEW, IN_REVIEW, INTERVIEW, OFFERED, HIRED, REJECTED, WITHDRAWN, TRANSFERRED'
187
+ end
188
+ if @api_client.config.client_side_validation && opts[:'onboarding_status'] && !['READY_TO_ONBOARD', 'ONBOARDING_SUCCESSFUL', 'ONBOARDING_FAILED'].include?(opts[:'onboarding_status'])
189
+ fail ArgumentError, 'invalid value for "onboarding_status", must be one of READY_TO_ONBOARD, ONBOARDING_SUCCESSFUL, ONBOARDING_FAILED'
190
+ end
191
+ # resource path
192
+ local_var_path = '/candidates'
193
+
194
+ # query parameters
195
+ query_params = opts[:query_params] || {}
196
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
197
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
198
+ query_params[:'pageId'] = opts[:'page_id'] if !opts[:'page_id'].nil?
199
+ query_params[:'jobId'] = @api_client.build_collection_param(opts[:'job_id'], :multi) if !opts[:'job_id'].nil?
200
+ query_params[:'location'] = @api_client.build_collection_param(opts[:'location'], :multi) if !opts[:'location'].nil?
201
+ query_params[:'averageRating'] = @api_client.build_collection_param(opts[:'average_rating'], :multi) if !opts[:'average_rating'].nil?
202
+ query_params[:'status'] = @api_client.build_collection_param(opts[:'status'], :multi) if !opts[:'status'].nil?
203
+ query_params[:'consentStatus'] = @api_client.build_collection_param(opts[:'consent_status'], :multi) if !opts[:'consent_status'].nil?
204
+ query_params[:'subStatus'] = opts[:'sub_status'] if !opts[:'sub_status'].nil?
205
+ query_params[:'tag'] = @api_client.build_collection_param(opts[:'tag'], :multi) if !opts[:'tag'].nil?
206
+ query_params[:'updatedAfter'] = opts[:'updated_after'] if !opts[:'updated_after'].nil?
207
+ query_params[:'onboardingStatus'] = opts[:'onboarding_status'] if !opts[:'onboarding_status'].nil?
208
+ query_params[:'propertyId'] = @api_client.build_collection_param(opts[:'property_id'], :multi) if !opts[:'property_id'].nil?
209
+ query_params[:'propertyValueId'] = @api_client.build_collection_param(opts[:'property_value_id'], :multi) if !opts[:'property_value_id'].nil?
210
+ query_params[:'sourceType'] = @api_client.build_collection_param(opts[:'source_type'], :multi) if !opts[:'source_type'].nil?
211
+ query_params[:'sourceSubType'] = @api_client.build_collection_param(opts[:'source_sub_type'], :multi) if !opts[:'source_sub_type'].nil?
212
+ query_params[:'sourceValueId'] = @api_client.build_collection_param(opts[:'source_value_id'], :multi) if !opts[:'source_value_id'].nil?
213
+ query_params[:'questionCategory'] = @api_client.build_collection_param(opts[:'question_category'], :multi) if !opts[:'question_category'].nil?
214
+ query_params[:'questionFieldId'] = @api_client.build_collection_param(opts[:'question_field_id'], :multi) if !opts[:'question_field_id'].nil?
215
+ query_params[:'questionFieldValueId'] = @api_client.build_collection_param(opts[:'question_field_value_id'], :multi) if !opts[:'question_field_value_id'].nil?
216
+
217
+ # header parameters
218
+ header_params = opts[:header_params] || {}
219
+ # HTTP header 'Accept' (if needed)
220
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
221
+
222
+ # form parameters
223
+ form_params = opts[:form_params] || {}
224
+
225
+ # http body (model)
226
+ post_body = opts[:body]
227
+
228
+ return_type = opts[:return_type] || 'Candidates'
229
+
230
+ auth_names = opts[:auth_names] || ['key', 'oauth']
231
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
232
+ :header_params => header_params,
233
+ :query_params => query_params,
234
+ :form_params => form_params,
235
+ :body => post_body,
236
+ :auth_names => auth_names,
237
+ :return_type => return_type)
238
+
239
+ if @api_client.config.debugging
240
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_all\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
241
+ end
242
+ return data, status_code, headers
243
+ end
244
+ # Attach files to a candidate.
245
+ # Attach files to a candidate.
246
+ # @param id candidate identifier
247
+ # @param [Hash] opts the optional parameters
248
+ # @option opts [String] :attachment_type
249
+ # @option opts [String] :file
250
+ # @return [Attachment]
251
+ def candidates_attachments_add(id, opts = {})
252
+ data, _status_code, _headers = candidates_attachments_add_with_http_info(id, opts)
253
+ data
254
+ end
255
+
256
+ # Attach files to a candidate.
257
+ # Attach files to a candidate.
258
+ # @param id candidate identifier
259
+ # @param [Hash] opts the optional parameters
260
+ # @option opts [String] :attachment_type
261
+ # @option opts [String] :file
262
+ # @return [Array<(Attachment, Integer, Hash)>] Attachment data, response status code and response headers
263
+ def candidates_attachments_add_with_http_info(id, opts = {})
264
+ if @api_client.config.debugging
265
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_attachments_add ...'
266
+ end
267
+ # verify the required parameter 'id' is set
268
+ if @api_client.config.client_side_validation && id.nil?
269
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_attachments_add"
270
+ end
271
+ if @api_client.config.client_side_validation && opts[:'attachment_type'] && !['GENERIC_FILE', 'RESUME', 'COVER_LETTER'].include?(opts[:'attachment_type'])
272
+ fail ArgumentError, 'invalid value for "attachment_type", must be one of GENERIC_FILE, RESUME, COVER_LETTER'
273
+ end
274
+ # resource path
275
+ local_var_path = '/candidates/{id}/attachments'.sub('{' + 'id' + '}', id.to_s)
276
+
277
+ # query parameters
278
+ query_params = opts[:query_params] || {}
279
+
280
+ # header parameters
281
+ header_params = opts[:header_params] || {}
282
+ # HTTP header 'Accept' (if needed)
283
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
284
+ # HTTP header 'Content-Type'
285
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
286
+
287
+ # form parameters
288
+ form_params = opts[:form_params] || {}
289
+ form_params['attachmentType'] = opts[:'attachment_type'] if !opts[:'attachment_type'].nil?
290
+ form_params['file'] = opts[:'file'] if !opts[:'file'].nil?
291
+
292
+ # http body (model)
293
+ post_body = opts[:body]
294
+
295
+ return_type = opts[:return_type] || 'Attachment'
296
+
297
+ auth_names = opts[:auth_names] || ['key', 'oauth']
298
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
299
+ :header_params => header_params,
300
+ :query_params => query_params,
301
+ :form_params => form_params,
302
+ :body => post_body,
303
+ :auth_names => auth_names,
304
+ :return_type => return_type)
305
+
306
+ if @api_client.config.debugging
307
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_attachments_add\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
308
+ end
309
+ return data, status_code, headers
310
+ end
311
+ # Attach file to candidate in context of given job.
312
+ # Attach file to candidate in context of given job.
313
+ # @param id candidate identifier
314
+ # @param job_id job identifier
315
+ # @param [Hash] opts the optional parameters
316
+ # @option opts [String] :attachment_type
317
+ # @option opts [String] :file
318
+ # @return [CandidateAttachmentForJob]
319
+ def candidates_attachments_add_for_job(id, job_id, opts = {})
320
+ data, _status_code, _headers = candidates_attachments_add_for_job_with_http_info(id, job_id, opts)
321
+ data
322
+ end
323
+
324
+ # Attach file to candidate in context of given job.
325
+ # Attach file to candidate in context of given job.
326
+ # @param id candidate identifier
327
+ # @param job_id job identifier
328
+ # @param [Hash] opts the optional parameters
329
+ # @option opts [String] :attachment_type
330
+ # @option opts [String] :file
331
+ # @return [Array<(CandidateAttachmentForJob, Integer, Hash)>] CandidateAttachmentForJob data, response status code and response headers
332
+ def candidates_attachments_add_for_job_with_http_info(id, job_id, opts = {})
333
+ if @api_client.config.debugging
334
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_attachments_add_for_job ...'
335
+ end
336
+ # verify the required parameter 'id' is set
337
+ if @api_client.config.client_side_validation && id.nil?
338
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_attachments_add_for_job"
339
+ end
340
+ # verify the required parameter 'job_id' is set
341
+ if @api_client.config.client_side_validation && job_id.nil?
342
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_attachments_add_for_job"
343
+ end
344
+ if @api_client.config.client_side_validation && opts[:'attachment_type'] && !['GENERIC_FILE', 'RESUME', 'COVER_LETTER'].include?(opts[:'attachment_type'])
345
+ fail ArgumentError, 'invalid value for "attachment_type", must be one of GENERIC_FILE, RESUME, COVER_LETTER'
346
+ end
347
+ # resource path
348
+ local_var_path = '/candidates/{id}/jobs/{jobId}/attachments'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
349
+
350
+ # query parameters
351
+ query_params = opts[:query_params] || {}
352
+
353
+ # header parameters
354
+ header_params = opts[:header_params] || {}
355
+ # HTTP header 'Accept' (if needed)
356
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
357
+ # HTTP header 'Content-Type'
358
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
359
+
360
+ # form parameters
361
+ form_params = opts[:form_params] || {}
362
+ form_params['attachmentType'] = opts[:'attachment_type'] if !opts[:'attachment_type'].nil?
363
+ form_params['file'] = opts[:'file'] if !opts[:'file'].nil?
364
+
365
+ # http body (model)
366
+ post_body = opts[:body]
367
+
368
+ return_type = opts[:return_type] || 'CandidateAttachmentForJob'
369
+
370
+ auth_names = opts[:auth_names] || ['key', 'oauth']
371
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
372
+ :header_params => header_params,
373
+ :query_params => query_params,
374
+ :form_params => form_params,
375
+ :body => post_body,
376
+ :auth_names => auth_names,
377
+ :return_type => return_type)
378
+
379
+ if @api_client.config.debugging
380
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_attachments_add_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
381
+ end
382
+ return data, status_code, headers
383
+ end
384
+ # Delete attachment.
385
+ # Delete attachment.
386
+ # @param attachment_id attachment identifier
387
+ # @param [Hash] opts the optional parameters
388
+ # @return [nil]
389
+ def candidates_attachments_delete_for_job(attachment_id, opts = {})
390
+ candidates_attachments_delete_for_job_with_http_info(attachment_id, opts)
391
+ nil
392
+ end
393
+
394
+ # Delete attachment.
395
+ # Delete attachment.
396
+ # @param attachment_id attachment identifier
397
+ # @param [Hash] opts the optional parameters
398
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
399
+ def candidates_attachments_delete_for_job_with_http_info(attachment_id, opts = {})
400
+ if @api_client.config.debugging
401
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_attachments_delete_for_job ...'
402
+ end
403
+ # verify the required parameter 'attachment_id' is set
404
+ if @api_client.config.client_side_validation && attachment_id.nil?
405
+ fail ArgumentError, "Missing the required parameter 'attachment_id' when calling CandidatesApi.candidates_attachments_delete_for_job"
406
+ end
407
+ # resource path
408
+ local_var_path = '/candidates/attachments/{attachmentId}'.sub('{' + 'attachmentId' + '}', attachment_id.to_s)
409
+
410
+ # query parameters
411
+ query_params = opts[:query_params] || {}
412
+
413
+ # header parameters
414
+ header_params = opts[:header_params] || {}
415
+ # HTTP header 'Accept' (if needed)
416
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
417
+
418
+ # form parameters
419
+ form_params = opts[:form_params] || {}
420
+
421
+ # http body (model)
422
+ post_body = opts[:body]
423
+
424
+ return_type = opts[:return_type]
425
+
426
+ auth_names = opts[:auth_names] || ['key', 'oauth']
427
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
428
+ :header_params => header_params,
429
+ :query_params => query_params,
430
+ :form_params => form_params,
431
+ :body => post_body,
432
+ :auth_names => auth_names,
433
+ :return_type => return_type)
434
+
435
+ if @api_client.config.debugging
436
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_attachments_delete_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
437
+ end
438
+ return data, status_code, headers
439
+ end
440
+ # Get a candidate's attachment.
441
+ # Get a candidate's attachment.
442
+ # @param id candidate identifier
443
+ # @param attachment_id Identifier of an attachment
444
+ # @param [Hash] opts the optional parameters
445
+ # @return [nil]
446
+ def candidates_attachments_get(id, attachment_id, opts = {})
447
+ candidates_attachments_get_with_http_info(id, attachment_id, opts)
448
+ nil
449
+ end
450
+
451
+ # Get a candidate&#x27;s attachment.
452
+ # Get a candidate&#x27;s attachment.
453
+ # @param id candidate identifier
454
+ # @param attachment_id Identifier of an attachment
455
+ # @param [Hash] opts the optional parameters
456
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
457
+ def candidates_attachments_get_with_http_info(id, attachment_id, opts = {})
458
+ if @api_client.config.debugging
459
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_attachments_get ...'
460
+ end
461
+ # verify the required parameter 'id' is set
462
+ if @api_client.config.client_side_validation && id.nil?
463
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_attachments_get"
464
+ end
465
+ # verify the required parameter 'attachment_id' is set
466
+ if @api_client.config.client_side_validation && attachment_id.nil?
467
+ fail ArgumentError, "Missing the required parameter 'attachment_id' when calling CandidatesApi.candidates_attachments_get"
468
+ end
469
+ # resource path
470
+ local_var_path = '/candidates/{id}/attachments/{attachmentId}'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'attachmentId' + '}', attachment_id.to_s)
471
+
472
+ # query parameters
473
+ query_params = opts[:query_params] || {}
474
+
475
+ # header parameters
476
+ header_params = opts[:header_params] || {}
477
+ # HTTP header 'Accept' (if needed)
478
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
479
+
480
+ # form parameters
481
+ form_params = opts[:form_params] || {}
482
+
483
+ # http body (model)
484
+ post_body = opts[:body]
485
+
486
+ return_type = opts[:return_type]
487
+
488
+ auth_names = opts[:auth_names] || ['key', 'oauth']
489
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
490
+ :header_params => header_params,
491
+ :query_params => query_params,
492
+ :form_params => form_params,
493
+ :body => post_body,
494
+ :auth_names => auth_names,
495
+ :return_type => return_type)
496
+
497
+ if @api_client.config.debugging
498
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_attachments_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
499
+ end
500
+ return data, status_code, headers
501
+ end
502
+ # Get candidate's attachment.
503
+ # Get candidate's attachment.
504
+ # @param attachment_id attachment identifier
505
+ # @param [Hash] opts the optional parameters
506
+ # @return [nil]
507
+ def candidates_attachments_get_for_job(attachment_id, opts = {})
508
+ candidates_attachments_get_for_job_with_http_info(attachment_id, opts)
509
+ nil
510
+ end
511
+
512
+ # Get candidate&#x27;s attachment.
513
+ # Get candidate&#x27;s attachment.
514
+ # @param attachment_id attachment identifier
515
+ # @param [Hash] opts the optional parameters
516
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
517
+ def candidates_attachments_get_for_job_with_http_info(attachment_id, opts = {})
518
+ if @api_client.config.debugging
519
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_attachments_get_for_job ...'
520
+ end
521
+ # verify the required parameter 'attachment_id' is set
522
+ if @api_client.config.client_side_validation && attachment_id.nil?
523
+ fail ArgumentError, "Missing the required parameter 'attachment_id' when calling CandidatesApi.candidates_attachments_get_for_job"
524
+ end
525
+ # resource path
526
+ local_var_path = '/candidates/attachments/{attachmentId}'.sub('{' + 'attachmentId' + '}', attachment_id.to_s)
527
+
528
+ # query parameters
529
+ query_params = opts[:query_params] || {}
530
+
531
+ # header parameters
532
+ header_params = opts[:header_params] || {}
533
+ # HTTP header 'Accept' (if needed)
534
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
535
+
536
+ # form parameters
537
+ form_params = opts[:form_params] || {}
538
+
539
+ # http body (model)
540
+ post_body = opts[:body]
541
+
542
+ return_type = opts[:return_type]
543
+
544
+ auth_names = opts[:auth_names] || ['key', 'oauth']
545
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
546
+ :header_params => header_params,
547
+ :query_params => query_params,
548
+ :form_params => form_params,
549
+ :body => post_body,
550
+ :auth_names => auth_names,
551
+ :return_type => return_type)
552
+
553
+ if @api_client.config.debugging
554
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_attachments_get_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
555
+ end
556
+ return data, status_code, headers
557
+ end
558
+ # Get list candidate's attachments.
559
+ # Get list of candidate's attachments.
560
+ # @param id candidate identifier
561
+ # @param [Hash] opts the optional parameters
562
+ # @return [Attachments]
563
+ def candidates_attachments_list(id, opts = {})
564
+ data, _status_code, _headers = candidates_attachments_list_with_http_info(id, opts)
565
+ data
566
+ end
567
+
568
+ # Get list candidate&#x27;s attachments.
569
+ # Get list of candidate&#x27;s attachments.
570
+ # @param id candidate identifier
571
+ # @param [Hash] opts the optional parameters
572
+ # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
573
+ def candidates_attachments_list_with_http_info(id, opts = {})
574
+ if @api_client.config.debugging
575
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_attachments_list ...'
576
+ end
577
+ # verify the required parameter 'id' is set
578
+ if @api_client.config.client_side_validation && id.nil?
579
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_attachments_list"
580
+ end
581
+ # resource path
582
+ local_var_path = '/candidates/{id}/attachments'.sub('{' + 'id' + '}', id.to_s)
583
+
584
+ # query parameters
585
+ query_params = opts[:query_params] || {}
586
+
587
+ # header parameters
588
+ header_params = opts[:header_params] || {}
589
+ # HTTP header 'Accept' (if needed)
590
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
591
+
592
+ # form parameters
593
+ form_params = opts[:form_params] || {}
594
+
595
+ # http body (model)
596
+ post_body = opts[:body]
597
+
598
+ return_type = opts[:return_type] || 'Attachments'
599
+
600
+ auth_names = opts[:auth_names] || ['key', 'oauth']
601
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
602
+ :header_params => header_params,
603
+ :query_params => query_params,
604
+ :form_params => form_params,
605
+ :body => post_body,
606
+ :auth_names => auth_names,
607
+ :return_type => return_type)
608
+
609
+ if @api_client.config.debugging
610
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_attachments_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
611
+ end
612
+ return data, status_code, headers
613
+ end
614
+ # Get list of candidate's attachments in context of given job.
615
+ # Get list of candidate's attachments in context of given job.
616
+ # @param id candidate identifier
617
+ # @param job_id job identifier
618
+ # @param [Hash] opts the optional parameters
619
+ # @return [CandidateAttachmentsForJob]
620
+ def candidates_attachments_list_for_job(id, job_id, opts = {})
621
+ data, _status_code, _headers = candidates_attachments_list_for_job_with_http_info(id, job_id, opts)
622
+ data
623
+ end
624
+
625
+ # Get list of candidate&#x27;s attachments in context of given job.
626
+ # Get list of candidate&#x27;s attachments in context of given job.
627
+ # @param id candidate identifier
628
+ # @param job_id job identifier
629
+ # @param [Hash] opts the optional parameters
630
+ # @return [Array<(CandidateAttachmentsForJob, Integer, Hash)>] CandidateAttachmentsForJob data, response status code and response headers
631
+ def candidates_attachments_list_for_job_with_http_info(id, job_id, opts = {})
632
+ if @api_client.config.debugging
633
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_attachments_list_for_job ...'
634
+ end
635
+ # verify the required parameter 'id' is set
636
+ if @api_client.config.client_side_validation && id.nil?
637
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_attachments_list_for_job"
638
+ end
639
+ # verify the required parameter 'job_id' is set
640
+ if @api_client.config.client_side_validation && job_id.nil?
641
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_attachments_list_for_job"
642
+ end
643
+ # resource path
644
+ local_var_path = '/candidates/{id}/jobs/{jobId}/attachments'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
645
+
646
+ # query parameters
647
+ query_params = opts[:query_params] || {}
648
+
649
+ # header parameters
650
+ header_params = opts[:header_params] || {}
651
+ # HTTP header 'Accept' (if needed)
652
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
653
+
654
+ # form parameters
655
+ form_params = opts[:form_params] || {}
656
+
657
+ # http body (model)
658
+ post_body = opts[:body]
659
+
660
+ return_type = opts[:return_type] || 'CandidateAttachmentsForJob'
661
+
662
+ auth_names = opts[:auth_names] || ['key', 'oauth']
663
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
664
+ :header_params => header_params,
665
+ :query_params => query_params,
666
+ :form_params => form_params,
667
+ :body => post_body,
668
+ :auth_names => auth_names,
669
+ :return_type => return_type)
670
+
671
+ if @api_client.config.debugging
672
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_attachments_list_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
673
+ end
674
+ return data, status_code, headers
675
+ end
676
+ # Candidate consent decisions
677
+ # Depending on the consent approach which a customer chooses, the response will either contain one candidates' consent decision - known as \"single consent\" - or contain one candidates' consent broken out by the data scopes which the customer has subscribed to - such as SmartRecruit and SmartCRM. This is referred to as \"separated consent\". Provided there is at least one pending consent request (without a decision) for a candidate, the response contains a date and time of the most recent of such consent requests. Read more about GDPR tools on [SmartRecruiters HelpCenter](https://help.smartrecruiters.com/GDPR/GDPR_Tools_for_Companies)
678
+ # @param id candidate identifier
679
+ # @param [Hash] opts the optional parameters
680
+ # @return [CandidateConsentDecisions]
681
+ def candidates_consent_decisions(id, opts = {})
682
+ data, _status_code, _headers = candidates_consent_decisions_with_http_info(id, opts)
683
+ data
684
+ end
685
+
686
+ # Candidate consent decisions
687
+ # Depending on the consent approach which a customer chooses, the response will either contain one candidates&#x27; consent decision - known as \&quot;single consent\&quot; - or contain one candidates&#x27; consent broken out by the data scopes which the customer has subscribed to - such as SmartRecruit and SmartCRM. This is referred to as \&quot;separated consent\&quot;. Provided there is at least one pending consent request (without a decision) for a candidate, the response contains a date and time of the most recent of such consent requests. Read more about GDPR tools on [SmartRecruiters HelpCenter](https://help.smartrecruiters.com/GDPR/GDPR_Tools_for_Companies)
688
+ # @param id candidate identifier
689
+ # @param [Hash] opts the optional parameters
690
+ # @return [Array<(CandidateConsentDecisions, Integer, Hash)>] CandidateConsentDecisions data, response status code and response headers
691
+ def candidates_consent_decisions_with_http_info(id, opts = {})
692
+ if @api_client.config.debugging
693
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_consent_decisions ...'
694
+ end
695
+ # verify the required parameter 'id' is set
696
+ if @api_client.config.client_side_validation && id.nil?
697
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_consent_decisions"
698
+ end
699
+ # resource path
700
+ local_var_path = '/candidates/{id}/consents'.sub('{' + 'id' + '}', id.to_s)
701
+
702
+ # query parameters
703
+ query_params = opts[:query_params] || {}
704
+
705
+ # header parameters
706
+ header_params = opts[:header_params] || {}
707
+ # HTTP header 'Accept' (if needed)
708
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
709
+
710
+ # form parameters
711
+ form_params = opts[:form_params] || {}
712
+
713
+ # http body (model)
714
+ post_body = opts[:body]
715
+
716
+ return_type = opts[:return_type] || 'CandidateConsentDecisions'
717
+
718
+ auth_names = opts[:auth_names] || ['key', 'oauth']
719
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
720
+ :header_params => header_params,
721
+ :query_params => query_params,
722
+ :form_params => form_params,
723
+ :body => post_body,
724
+ :auth_names => auth_names,
725
+ :return_type => return_type)
726
+
727
+ if @api_client.config.debugging
728
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_consent_decisions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
729
+ end
730
+ return data, status_code, headers
731
+ end
732
+ # Request consent from multiple candidates
733
+ # Read more about GDPR tools on [SmartRecruiters HelpCenter](https://help.smartrecruiters.com/GDPR/GDPR_Tools_for_Companies)
734
+ # @param [Hash] opts the optional parameters
735
+ # @option opts [Object] :body
736
+ # @return [ConsentRequestsResults]
737
+ def candidates_consent_request_batch(opts = {})
738
+ data, _status_code, _headers = candidates_consent_request_batch_with_http_info(opts)
739
+ data
740
+ end
741
+
742
+ # Request consent from multiple candidates
743
+ # Read more about GDPR tools on [SmartRecruiters HelpCenter](https://help.smartrecruiters.com/GDPR/GDPR_Tools_for_Companies)
744
+ # @param [Hash] opts the optional parameters
745
+ # @option opts [Object] :body
746
+ # @return [Array<(ConsentRequestsResults, Integer, Hash)>] ConsentRequestsResults data, response status code and response headers
747
+ def candidates_consent_request_batch_with_http_info(opts = {})
748
+ if @api_client.config.debugging
749
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_consent_request_batch ...'
750
+ end
751
+ # resource path
752
+ local_var_path = '/candidates/consent-requests'
753
+
754
+ # query parameters
755
+ query_params = opts[:query_params] || {}
756
+
757
+ # header parameters
758
+ header_params = opts[:header_params] || {}
759
+ # HTTP header 'Accept' (if needed)
760
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
761
+ # HTTP header 'Content-Type'
762
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
763
+
764
+ # form parameters
765
+ form_params = opts[:form_params] || {}
766
+
767
+ # http body (model)
768
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
769
+
770
+ return_type = opts[:return_type] || 'ConsentRequestsResults'
771
+
772
+ auth_names = opts[:auth_names] || ['key', 'oauth']
773
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
774
+ :header_params => header_params,
775
+ :query_params => query_params,
776
+ :form_params => form_params,
777
+ :body => post_body,
778
+ :auth_names => auth_names,
779
+ :return_type => return_type)
780
+
781
+ if @api_client.config.debugging
782
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_consent_request_batch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
783
+ end
784
+ return data, status_code, headers
785
+ end
786
+ # Status of candidate consent
787
+ # Get candidate consent status
788
+ # @param id candidate identifier
789
+ # @param [Hash] opts the optional parameters
790
+ # @return [CandidateConsentStatus]
791
+ def candidates_consent_status(id, opts = {})
792
+ data, _status_code, _headers = candidates_consent_status_with_http_info(id, opts)
793
+ data
794
+ end
795
+
796
+ # Status of candidate consent
797
+ # Get candidate consent status
798
+ # @param id candidate identifier
799
+ # @param [Hash] opts the optional parameters
800
+ # @return [Array<(CandidateConsentStatus, Integer, Hash)>] CandidateConsentStatus data, response status code and response headers
801
+ def candidates_consent_status_with_http_info(id, opts = {})
802
+ if @api_client.config.debugging
803
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_consent_status ...'
804
+ end
805
+ # verify the required parameter 'id' is set
806
+ if @api_client.config.client_side_validation && id.nil?
807
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_consent_status"
808
+ end
809
+ # resource path
810
+ local_var_path = '/candidates/{id}/consent'.sub('{' + 'id' + '}', id.to_s)
811
+
812
+ # query parameters
813
+ query_params = opts[:query_params] || {}
814
+
815
+ # header parameters
816
+ header_params = opts[:header_params] || {}
817
+ # HTTP header 'Accept' (if needed)
818
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
819
+
820
+ # form parameters
821
+ form_params = opts[:form_params] || {}
822
+
823
+ # http body (model)
824
+ post_body = opts[:body]
825
+
826
+ return_type = opts[:return_type] || 'CandidateConsentStatus'
827
+
828
+ auth_names = opts[:auth_names] || ['key', 'oauth']
829
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
830
+ :header_params => header_params,
831
+ :query_params => query_params,
832
+ :form_params => form_params,
833
+ :body => post_body,
834
+ :auth_names => auth_names,
835
+ :return_type => return_type)
836
+
837
+ if @api_client.config.debugging
838
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_consent_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
839
+ end
840
+ return data, status_code, headers
841
+ end
842
+ # Delete Candidate
843
+ # Delete candidate
844
+ # @param id candidate identifier
845
+ # @param [Hash] opts the optional parameters
846
+ # @return [nil]
847
+ def candidates_delete(id, opts = {})
848
+ candidates_delete_with_http_info(id, opts)
849
+ nil
850
+ end
851
+
852
+ # Delete Candidate
853
+ # Delete candidate
854
+ # @param id candidate identifier
855
+ # @param [Hash] opts the optional parameters
856
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
857
+ def candidates_delete_with_http_info(id, opts = {})
858
+ if @api_client.config.debugging
859
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_delete ...'
860
+ end
861
+ # verify the required parameter 'id' is set
862
+ if @api_client.config.client_side_validation && id.nil?
863
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_delete"
864
+ end
865
+ # resource path
866
+ local_var_path = '/candidates/{id}'.sub('{' + 'id' + '}', id.to_s)
867
+
868
+ # query parameters
869
+ query_params = opts[:query_params] || {}
870
+
871
+ # header parameters
872
+ header_params = opts[:header_params] || {}
873
+ # HTTP header 'Accept' (if needed)
874
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
875
+
876
+ # form parameters
877
+ form_params = opts[:form_params] || {}
878
+
879
+ # http body (model)
880
+ post_body = opts[:body]
881
+
882
+ return_type = opts[:return_type]
883
+
884
+ auth_names = opts[:auth_names] || ['key', 'oauth']
885
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
886
+ :header_params => header_params,
887
+ :query_params => query_params,
888
+ :form_params => form_params,
889
+ :body => post_body,
890
+ :auth_names => auth_names,
891
+ :return_type => return_type)
892
+
893
+ if @api_client.config.debugging
894
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
895
+ end
896
+ return data, status_code, headers
897
+ end
898
+ # Get details of a candidate
899
+ # Get details of a candidate
900
+ # @param id candidate identifier
901
+ # @param [Hash] opts the optional parameters
902
+ # @return [CandidateDetails]
903
+ def candidates_get(id, opts = {})
904
+ data, _status_code, _headers = candidates_get_with_http_info(id, opts)
905
+ data
906
+ end
907
+
908
+ # Get details of a candidate
909
+ # Get details of a candidate
910
+ # @param id candidate identifier
911
+ # @param [Hash] opts the optional parameters
912
+ # @return [Array<(CandidateDetails, Integer, Hash)>] CandidateDetails data, response status code and response headers
913
+ def candidates_get_with_http_info(id, opts = {})
914
+ if @api_client.config.debugging
915
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_get ...'
916
+ end
917
+ # verify the required parameter 'id' is set
918
+ if @api_client.config.client_side_validation && id.nil?
919
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_get"
920
+ end
921
+ # resource path
922
+ local_var_path = '/candidates/{id}'.sub('{' + 'id' + '}', id.to_s)
923
+
924
+ # query parameters
925
+ query_params = opts[:query_params] || {}
926
+
927
+ # header parameters
928
+ header_params = opts[:header_params] || {}
929
+ # HTTP header 'Accept' (if needed)
930
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
931
+
932
+ # form parameters
933
+ form_params = opts[:form_params] || {}
934
+
935
+ # http body (model)
936
+ post_body = opts[:body]
937
+
938
+ return_type = opts[:return_type] || 'CandidateDetails'
939
+
940
+ auth_names = opts[:auth_names] || ['key', 'oauth']
941
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
942
+ :header_params => header_params,
943
+ :query_params => query_params,
944
+ :form_params => form_params,
945
+ :body => post_body,
946
+ :auth_names => auth_names,
947
+ :return_type => return_type)
948
+
949
+ if @api_client.config.debugging
950
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
951
+ end
952
+ return data, status_code, headers
953
+ end
954
+ # Get details of a candidate's application to a job
955
+ # Get details of a candidate's application to a job
956
+ # @param id candidate identifier
957
+ # @param job_id job identifier
958
+ # @param [Hash] opts the optional parameters
959
+ # @return [Application]
960
+ def candidates_get_application(id, job_id, opts = {})
961
+ data, _status_code, _headers = candidates_get_application_with_http_info(id, job_id, opts)
962
+ data
963
+ end
964
+
965
+ # Get details of a candidate&#x27;s application to a job
966
+ # Get details of a candidate&#x27;s application to a job
967
+ # @param id candidate identifier
968
+ # @param job_id job identifier
969
+ # @param [Hash] opts the optional parameters
970
+ # @return [Array<(Application, Integer, Hash)>] Application data, response status code and response headers
971
+ def candidates_get_application_with_http_info(id, job_id, opts = {})
972
+ if @api_client.config.debugging
973
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_get_application ...'
974
+ end
975
+ # verify the required parameter 'id' is set
976
+ if @api_client.config.client_side_validation && id.nil?
977
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_get_application"
978
+ end
979
+ # verify the required parameter 'job_id' is set
980
+ if @api_client.config.client_side_validation && job_id.nil?
981
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_get_application"
982
+ end
983
+ # resource path
984
+ local_var_path = '/candidates/{id}/jobs/{jobId}'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
985
+
986
+ # query parameters
987
+ query_params = opts[:query_params] || {}
988
+
989
+ # header parameters
990
+ header_params = opts[:header_params] || {}
991
+ # HTTP header 'Accept' (if needed)
992
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
993
+
994
+ # form parameters
995
+ form_params = opts[:form_params] || {}
996
+
997
+ # http body (model)
998
+ post_body = opts[:body]
999
+
1000
+ return_type = opts[:return_type] || 'Application'
1001
+
1002
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1003
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1004
+ :header_params => header_params,
1005
+ :query_params => query_params,
1006
+ :form_params => form_params,
1007
+ :body => post_body,
1008
+ :auth_names => auth_names,
1009
+ :return_type => return_type)
1010
+
1011
+ if @api_client.config.debugging
1012
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_get_application\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1013
+ end
1014
+ return data, status_code, headers
1015
+ end
1016
+ # Get Onboarding Status for a candidate
1017
+ # Get Onboarding Status for a candidate. Please use `GET /candidates/{id}/jobs/{jobId}/onboardingStatus` instead.
1018
+ # @param id candidate identifier
1019
+ # @param [Hash] opts the optional parameters
1020
+ # @return [OnboardingStatus]
1021
+ def candidates_onboarding_get(id, opts = {})
1022
+ data, _status_code, _headers = candidates_onboarding_get_with_http_info(id, opts)
1023
+ data
1024
+ end
1025
+
1026
+ # Get Onboarding Status for a candidate
1027
+ # Get Onboarding Status for a candidate. Please use &#x60;GET /candidates/{id}/jobs/{jobId}/onboardingStatus&#x60; instead.
1028
+ # @param id candidate identifier
1029
+ # @param [Hash] opts the optional parameters
1030
+ # @return [Array<(OnboardingStatus, Integer, Hash)>] OnboardingStatus data, response status code and response headers
1031
+ def candidates_onboarding_get_with_http_info(id, opts = {})
1032
+ if @api_client.config.debugging
1033
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_onboarding_get ...'
1034
+ end
1035
+ # verify the required parameter 'id' is set
1036
+ if @api_client.config.client_side_validation && id.nil?
1037
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_onboarding_get"
1038
+ end
1039
+ # resource path
1040
+ local_var_path = '/candidates/{id}/onboardingStatus'.sub('{' + 'id' + '}', id.to_s)
1041
+
1042
+ # query parameters
1043
+ query_params = opts[:query_params] || {}
1044
+
1045
+ # header parameters
1046
+ header_params = opts[:header_params] || {}
1047
+ # HTTP header 'Accept' (if needed)
1048
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1049
+
1050
+ # form parameters
1051
+ form_params = opts[:form_params] || {}
1052
+
1053
+ # http body (model)
1054
+ post_body = opts[:body]
1055
+
1056
+ return_type = opts[:return_type] || 'OnboardingStatus'
1057
+
1058
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1059
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1060
+ :header_params => header_params,
1061
+ :query_params => query_params,
1062
+ :form_params => form_params,
1063
+ :body => post_body,
1064
+ :auth_names => auth_names,
1065
+ :return_type => return_type)
1066
+
1067
+ if @api_client.config.debugging
1068
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_onboarding_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1069
+ end
1070
+ return data, status_code, headers
1071
+ end
1072
+ # Get Onboarding Status for a candidate associated with given job
1073
+ # Get Onboarding Status for a candidate associated with given job.
1074
+ # @param id candidate identifier
1075
+ # @param job_id job identifier
1076
+ # @param [Hash] opts the optional parameters
1077
+ # @return [OnboardingStatus]
1078
+ def candidates_onboarding_get_for_job(id, job_id, opts = {})
1079
+ data, _status_code, _headers = candidates_onboarding_get_for_job_with_http_info(id, job_id, opts)
1080
+ data
1081
+ end
1082
+
1083
+ # Get Onboarding Status for a candidate associated with given job
1084
+ # Get Onboarding Status for a candidate associated with given job.
1085
+ # @param id candidate identifier
1086
+ # @param job_id job identifier
1087
+ # @param [Hash] opts the optional parameters
1088
+ # @return [Array<(OnboardingStatus, Integer, Hash)>] OnboardingStatus data, response status code and response headers
1089
+ def candidates_onboarding_get_for_job_with_http_info(id, job_id, opts = {})
1090
+ if @api_client.config.debugging
1091
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_onboarding_get_for_job ...'
1092
+ end
1093
+ # verify the required parameter 'id' is set
1094
+ if @api_client.config.client_side_validation && id.nil?
1095
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_onboarding_get_for_job"
1096
+ end
1097
+ # verify the required parameter 'job_id' is set
1098
+ if @api_client.config.client_side_validation && job_id.nil?
1099
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_onboarding_get_for_job"
1100
+ end
1101
+ # resource path
1102
+ local_var_path = '/candidates/{id}/jobs/{jobId}/onboardingStatus'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
1103
+
1104
+ # query parameters
1105
+ query_params = opts[:query_params] || {}
1106
+
1107
+ # header parameters
1108
+ header_params = opts[:header_params] || {}
1109
+ # HTTP header 'Accept' (if needed)
1110
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1111
+
1112
+ # form parameters
1113
+ form_params = opts[:form_params] || {}
1114
+
1115
+ # http body (model)
1116
+ post_body = opts[:body]
1117
+
1118
+ return_type = opts[:return_type] || 'OnboardingStatus'
1119
+
1120
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1121
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1122
+ :header_params => header_params,
1123
+ :query_params => query_params,
1124
+ :form_params => form_params,
1125
+ :body => post_body,
1126
+ :auth_names => auth_names,
1127
+ :return_type => return_type)
1128
+
1129
+ if @api_client.config.debugging
1130
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_onboarding_get_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1131
+ end
1132
+ return data, status_code, headers
1133
+ end
1134
+ # Set Onboarding Status for a candidate
1135
+ # Set Onboarding Status for a candidate. Please use `PUT /candidates/{id}/jobs/{jobId}/onboardingStatus` instead.
1136
+ # @param body Onboarding status.
1137
+ # @param id candidate identifier
1138
+ # @param [Hash] opts the optional parameters
1139
+ # @return [nil]
1140
+ def candidates_onboarding_update(body, id, opts = {})
1141
+ candidates_onboarding_update_with_http_info(body, id, opts)
1142
+ nil
1143
+ end
1144
+
1145
+ # Set Onboarding Status for a candidate
1146
+ # Set Onboarding Status for a candidate. Please use &#x60;PUT /candidates/{id}/jobs/{jobId}/onboardingStatus&#x60; instead.
1147
+ # @param body Onboarding status.
1148
+ # @param id candidate identifier
1149
+ # @param [Hash] opts the optional parameters
1150
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1151
+ def candidates_onboarding_update_with_http_info(body, id, opts = {})
1152
+ if @api_client.config.debugging
1153
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_onboarding_update ...'
1154
+ end
1155
+ # verify the required parameter 'body' is set
1156
+ if @api_client.config.client_side_validation && body.nil?
1157
+ fail ArgumentError, "Missing the required parameter 'body' when calling CandidatesApi.candidates_onboarding_update"
1158
+ end
1159
+ # verify the required parameter 'id' is set
1160
+ if @api_client.config.client_side_validation && id.nil?
1161
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_onboarding_update"
1162
+ end
1163
+ # resource path
1164
+ local_var_path = '/candidates/{id}/onboardingStatus'.sub('{' + 'id' + '}', id.to_s)
1165
+
1166
+ # query parameters
1167
+ query_params = opts[:query_params] || {}
1168
+
1169
+ # header parameters
1170
+ header_params = opts[:header_params] || {}
1171
+ # HTTP header 'Accept' (if needed)
1172
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1173
+ # HTTP header 'Content-Type'
1174
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1175
+
1176
+ # form parameters
1177
+ form_params = opts[:form_params] || {}
1178
+
1179
+ # http body (model)
1180
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1181
+
1182
+ return_type = opts[:return_type]
1183
+
1184
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1185
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
1186
+ :header_params => header_params,
1187
+ :query_params => query_params,
1188
+ :form_params => form_params,
1189
+ :body => post_body,
1190
+ :auth_names => auth_names,
1191
+ :return_type => return_type)
1192
+
1193
+ if @api_client.config.debugging
1194
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_onboarding_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1195
+ end
1196
+ return data, status_code, headers
1197
+ end
1198
+ # Sets Onboarding Status for a candidate associated with given job
1199
+ # Sets Onboarding Status for a candidate associated with given job.
1200
+ # @param body Onboarding status.
1201
+ # @param id candidate identifier
1202
+ # @param job_id job identifier
1203
+ # @param [Hash] opts the optional parameters
1204
+ # @return [nil]
1205
+ def candidates_onboarding_update_for_job(body, id, job_id, opts = {})
1206
+ candidates_onboarding_update_for_job_with_http_info(body, id, job_id, opts)
1207
+ nil
1208
+ end
1209
+
1210
+ # Sets Onboarding Status for a candidate associated with given job
1211
+ # Sets Onboarding Status for a candidate associated with given job.
1212
+ # @param body Onboarding status.
1213
+ # @param id candidate identifier
1214
+ # @param job_id job identifier
1215
+ # @param [Hash] opts the optional parameters
1216
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1217
+ def candidates_onboarding_update_for_job_with_http_info(body, id, job_id, opts = {})
1218
+ if @api_client.config.debugging
1219
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_onboarding_update_for_job ...'
1220
+ end
1221
+ # verify the required parameter 'body' is set
1222
+ if @api_client.config.client_side_validation && body.nil?
1223
+ fail ArgumentError, "Missing the required parameter 'body' when calling CandidatesApi.candidates_onboarding_update_for_job"
1224
+ end
1225
+ # verify the required parameter 'id' is set
1226
+ if @api_client.config.client_side_validation && id.nil?
1227
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_onboarding_update_for_job"
1228
+ end
1229
+ # verify the required parameter 'job_id' is set
1230
+ if @api_client.config.client_side_validation && job_id.nil?
1231
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_onboarding_update_for_job"
1232
+ end
1233
+ # resource path
1234
+ local_var_path = '/candidates/{id}/jobs/{jobId}/onboardingStatus'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
1235
+
1236
+ # query parameters
1237
+ query_params = opts[:query_params] || {}
1238
+
1239
+ # header parameters
1240
+ header_params = opts[:header_params] || {}
1241
+ # HTTP header 'Accept' (if needed)
1242
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1243
+ # HTTP header 'Content-Type'
1244
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1245
+
1246
+ # form parameters
1247
+ form_params = opts[:form_params] || {}
1248
+
1249
+ # http body (model)
1250
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1251
+
1252
+ return_type = opts[:return_type]
1253
+
1254
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1255
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
1256
+ :header_params => header_params,
1257
+ :query_params => query_params,
1258
+ :form_params => form_params,
1259
+ :body => post_body,
1260
+ :auth_names => auth_names,
1261
+ :return_type => return_type)
1262
+
1263
+ if @api_client.config.debugging
1264
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_onboarding_update_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1265
+ end
1266
+ return data, status_code, headers
1267
+ end
1268
+ # Get candidate property values for a candidate
1269
+ # Please use `GET /candidates/{id}/jobs/{jobId}/properties` instead. Returns ``` {} ``` when there is no value set for a candidate property.
1270
+ # @param id candidate identifier
1271
+ # @param [Hash] opts the optional parameters
1272
+ # @option opts [String] :context context for candidate properties to display
1273
+ # @return [CandidateProperties]
1274
+ def candidates_properties_get(id, opts = {})
1275
+ data, _status_code, _headers = candidates_properties_get_with_http_info(id, opts)
1276
+ data
1277
+ end
1278
+
1279
+ # Get candidate property values for a candidate
1280
+ # Please use &#x60;GET /candidates/{id}/jobs/{jobId}/properties&#x60; instead. Returns &#x60;&#x60;&#x60; {} &#x60;&#x60;&#x60; when there is no value set for a candidate property.
1281
+ # @param id candidate identifier
1282
+ # @param [Hash] opts the optional parameters
1283
+ # @option opts [String] :context context for candidate properties to display
1284
+ # @return [Array<(CandidateProperties, Integer, Hash)>] CandidateProperties data, response status code and response headers
1285
+ def candidates_properties_get_with_http_info(id, opts = {})
1286
+ if @api_client.config.debugging
1287
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_properties_get ...'
1288
+ end
1289
+ # verify the required parameter 'id' is set
1290
+ if @api_client.config.client_side_validation && id.nil?
1291
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_properties_get"
1292
+ end
1293
+ if @api_client.config.client_side_validation && opts[:'context'] && !['PROFILE', 'OFFER_FORM', 'HIRE_FORM', 'OFFER_APPROVAL_FORM'].include?(opts[:'context'])
1294
+ fail ArgumentError, 'invalid value for "context", must be one of PROFILE, OFFER_FORM, HIRE_FORM, OFFER_APPROVAL_FORM'
1295
+ end
1296
+ # resource path
1297
+ local_var_path = '/candidates/{id}/properties'.sub('{' + 'id' + '}', id.to_s)
1298
+
1299
+ # query parameters
1300
+ query_params = opts[:query_params] || {}
1301
+ query_params[:'context'] = opts[:'context'] if !opts[:'context'].nil?
1302
+
1303
+ # header parameters
1304
+ header_params = opts[:header_params] || {}
1305
+ # HTTP header 'Accept' (if needed)
1306
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1307
+
1308
+ # form parameters
1309
+ form_params = opts[:form_params] || {}
1310
+
1311
+ # http body (model)
1312
+ post_body = opts[:body]
1313
+
1314
+ return_type = opts[:return_type] || 'CandidateProperties'
1315
+
1316
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1317
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1318
+ :header_params => header_params,
1319
+ :query_params => query_params,
1320
+ :form_params => form_params,
1321
+ :body => post_body,
1322
+ :auth_names => auth_names,
1323
+ :return_type => return_type)
1324
+
1325
+ if @api_client.config.debugging
1326
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_properties_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1327
+ end
1328
+ return data, status_code, headers
1329
+ end
1330
+ # Get candidate property values for a candidate's job
1331
+ # Returns ``` {} ``` when there is no value set for a candidate property.
1332
+ # @param id candidate identifier
1333
+ # @param job_id job identifier
1334
+ # @param [Hash] opts the optional parameters
1335
+ # @option opts [String] :context context for candidate properties to display
1336
+ # @return [CandidateProperties]
1337
+ def candidates_properties_get_for_job(id, job_id, opts = {})
1338
+ data, _status_code, _headers = candidates_properties_get_for_job_with_http_info(id, job_id, opts)
1339
+ data
1340
+ end
1341
+
1342
+ # Get candidate property values for a candidate&#x27;s job
1343
+ # Returns &#x60;&#x60;&#x60; {} &#x60;&#x60;&#x60; when there is no value set for a candidate property.
1344
+ # @param id candidate identifier
1345
+ # @param job_id job identifier
1346
+ # @param [Hash] opts the optional parameters
1347
+ # @option opts [String] :context context for candidate properties to display
1348
+ # @return [Array<(CandidateProperties, Integer, Hash)>] CandidateProperties data, response status code and response headers
1349
+ def candidates_properties_get_for_job_with_http_info(id, job_id, opts = {})
1350
+ if @api_client.config.debugging
1351
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_properties_get_for_job ...'
1352
+ end
1353
+ # verify the required parameter 'id' is set
1354
+ if @api_client.config.client_side_validation && id.nil?
1355
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_properties_get_for_job"
1356
+ end
1357
+ # verify the required parameter 'job_id' is set
1358
+ if @api_client.config.client_side_validation && job_id.nil?
1359
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_properties_get_for_job"
1360
+ end
1361
+ if @api_client.config.client_side_validation && opts[:'context'] && !['PROFILE', 'OFFER_FORM', 'HIRE_FORM', 'OFFER_APPROVAL_FORM'].include?(opts[:'context'])
1362
+ fail ArgumentError, 'invalid value for "context", must be one of PROFILE, OFFER_FORM, HIRE_FORM, OFFER_APPROVAL_FORM'
1363
+ end
1364
+ # resource path
1365
+ local_var_path = '/candidates/{id}/jobs/{jobId}/properties'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
1366
+
1367
+ # query parameters
1368
+ query_params = opts[:query_params] || {}
1369
+ query_params[:'context'] = opts[:'context'] if !opts[:'context'].nil?
1370
+
1371
+ # header parameters
1372
+ header_params = opts[:header_params] || {}
1373
+ # HTTP header 'Accept' (if needed)
1374
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1375
+
1376
+ # form parameters
1377
+ form_params = opts[:form_params] || {}
1378
+
1379
+ # http body (model)
1380
+ post_body = opts[:body]
1381
+
1382
+ return_type = opts[:return_type] || 'CandidateProperties'
1383
+
1384
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1385
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1386
+ :header_params => header_params,
1387
+ :query_params => query_params,
1388
+ :form_params => form_params,
1389
+ :body => post_body,
1390
+ :auth_names => auth_names,
1391
+ :return_type => return_type)
1392
+
1393
+ if @api_client.config.debugging
1394
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_properties_get_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1395
+ end
1396
+ return data, status_code, headers
1397
+ end
1398
+ # Add/update candidate properties values
1399
+ # Set candidate properties values for the candidate's job Below you can find a list of value examples, dependent on different candidate property types. ### BOOLEAN ``` [{ \"id\": \"propertyId\", \"value\": true }] ``` Value has to be `true` or `false`. ### COUNTRY ``` [{ \"id\": \"propertyId\", \"value\": \"us\" }] ``` Value has to be lowercase string in ISO 3166-1 alpha-2 format. ### CURRENCY ``` [{ \"id\": \"propertyId\", \"value\": { \"code\": \"GBP\", \"value\": 23232 } }] ``` Code of value is a currency code in ISO 4217 format. ### DATE ``` [{ \"id\": \"propertyId\", \"value\": \"2015-11-17T23:00:00.000Z\" }] ``` ### NUMBER, PERCENT ``` [{ \"id\": \"propertyId\", \"value\": 42 }] ``` ### REGION ``` [{ \"id\": \"propertyId\", \"value\": \"us-wa\" }] ``` Value has to be lowercase string in ISO 3166-2 compatible format. ### SINGLE_SELECT ``` [{ \"id\": \"propertyId\", \"value\": \"f6fe768f-b5e6-4794-9938-c2f42ab0a572\" }] ``` Value has to be an id of candidate property value (provided by `GET /configuration/candidate-properties/{propertyId}/values`). ### TEXT ``` [{ \"id\": \"propertyId\", \"value\": \"Example text\" }] ``` ### USER ``` [{ \"id\": \"propertyId\", \"value\": \"50fe861de4b00265edec6775\" }] ``` Value has to be a valid user id ### Resetting a value To reset a value for any of the above types, please pass: ``` [{\"id\": \"propertyId\"}] ```
1400
+ # @param id candidate identifier
1401
+ # @param job_id job identifier
1402
+ # @param [Hash] opts the optional parameters
1403
+ # @option opts [Array<CandidatePropertyValue>] :body
1404
+ # @return [nil]
1405
+ def candidates_properties_values_batch_update_for_job(id, job_id, opts = {})
1406
+ candidates_properties_values_batch_update_for_job_with_http_info(id, job_id, opts)
1407
+ nil
1408
+ end
1409
+
1410
+ # Add/update candidate properties values
1411
+ # Set candidate properties values for the candidate&#x27;s job Below you can find a list of value examples, dependent on different candidate property types. ### BOOLEAN &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: true }] &#x60;&#x60;&#x60; Value has to be &#x60;true&#x60; or &#x60;false&#x60;. ### COUNTRY &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: \&quot;us\&quot; }] &#x60;&#x60;&#x60; Value has to be lowercase string in ISO 3166-1 alpha-2 format. ### CURRENCY &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: { \&quot;code\&quot;: \&quot;GBP\&quot;, \&quot;value\&quot;: 23232 } }] &#x60;&#x60;&#x60; Code of value is a currency code in ISO 4217 format. ### DATE &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: \&quot;2015-11-17T23:00:00.000Z\&quot; }] &#x60;&#x60;&#x60; ### NUMBER, PERCENT &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: 42 }] &#x60;&#x60;&#x60; ### REGION &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: \&quot;us-wa\&quot; }] &#x60;&#x60;&#x60; Value has to be lowercase string in ISO 3166-2 compatible format. ### SINGLE_SELECT &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: \&quot;f6fe768f-b5e6-4794-9938-c2f42ab0a572\&quot; }] &#x60;&#x60;&#x60; Value has to be an id of candidate property value (provided by &#x60;GET /configuration/candidate-properties/{propertyId}/values&#x60;). ### TEXT &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: \&quot;Example text\&quot; }] &#x60;&#x60;&#x60; ### USER &#x60;&#x60;&#x60; [{ \&quot;id\&quot;: \&quot;propertyId\&quot;, \&quot;value\&quot;: \&quot;50fe861de4b00265edec6775\&quot; }] &#x60;&#x60;&#x60; Value has to be a valid user id ### Resetting a value To reset a value for any of the above types, please pass: &#x60;&#x60;&#x60; [{\&quot;id\&quot;: \&quot;propertyId\&quot;}] &#x60;&#x60;&#x60;
1412
+ # @param id candidate identifier
1413
+ # @param job_id job identifier
1414
+ # @param [Hash] opts the optional parameters
1415
+ # @option opts [Array<CandidatePropertyValue>] :body
1416
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1417
+ def candidates_properties_values_batch_update_for_job_with_http_info(id, job_id, opts = {})
1418
+ if @api_client.config.debugging
1419
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_properties_values_batch_update_for_job ...'
1420
+ end
1421
+ # verify the required parameter 'id' is set
1422
+ if @api_client.config.client_side_validation && id.nil?
1423
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_properties_values_batch_update_for_job"
1424
+ end
1425
+ # verify the required parameter 'job_id' is set
1426
+ if @api_client.config.client_side_validation && job_id.nil?
1427
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_properties_values_batch_update_for_job"
1428
+ end
1429
+ # resource path
1430
+ local_var_path = '/candidates/{id}/jobs/{jobId}/properties'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
1431
+
1432
+ # query parameters
1433
+ query_params = opts[:query_params] || {}
1434
+
1435
+ # header parameters
1436
+ header_params = opts[:header_params] || {}
1437
+ # HTTP header 'Accept' (if needed)
1438
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1439
+ # HTTP header 'Content-Type'
1440
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1441
+
1442
+ # form parameters
1443
+ form_params = opts[:form_params] || {}
1444
+
1445
+ # http body (model)
1446
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
1447
+
1448
+ return_type = opts[:return_type]
1449
+
1450
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1451
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
1452
+ :header_params => header_params,
1453
+ :query_params => query_params,
1454
+ :form_params => form_params,
1455
+ :body => post_body,
1456
+ :auth_names => auth_names,
1457
+ :return_type => return_type)
1458
+
1459
+ if @api_client.config.debugging
1460
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_properties_values_batch_update_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1461
+ end
1462
+ return data, status_code, headers
1463
+ end
1464
+ # Add/update candidate property value
1465
+ # Please use `PUT /candidates/{id}/jobs/{jobId}/properties` instead. Set a candidate property value for the candidate. Below you can find a list of value examples, dependent on different candidate property types. * **BOOLEAN** ``` { \"value\": true } ``` Value has to be `true` or `false`. * **COUNTRY** ``` { \"value\": \"us\" } ``` Value has to be lowercase string in ISO 3166-1 alpha-2 format. * **CURRENCY** ``` { \"value\": { \"code\": \"GBP\", \"value\": 23232 } } ``` Code of value is a currency code in ISO 4217 format. * **DATE** ``` { \"value\": \"2015-11-17T23:00:00.000Z\" } ``` * **NUMBER, PERCENT** ``` { \"value\": 42 } ``` * **REGION** ``` { \"value\": \"us-wa\" } ``` Value has to be lowercase string in ISO 3166-2 compatible format. * **SINGLE_SELECT** ``` { \"value\": \"f6fe768f-b5e6-4794-9938-c2f42ab0a572\" } ``` Value has to be an id of candidate property value (provided by GET /configuration/candidate-properties/{propertyId}/values). * **TEXT** ``` { \"value\": \"Example text\" } ``` * **USER** ``` { \"value\": \"50fe861de4b00265edec6775\" } ``` Value has to be a valid user id To reset a value for any of the above types, please pass ``` {} ```
1466
+ # @param id candidate identifier
1467
+ # @param property_id Identifier of a Candidate Property
1468
+ # @param [Hash] opts the optional parameters
1469
+ # @option opts [CandidatePropertyInputValue] :body Input value of the candidate property.
1470
+ # @return [nil]
1471
+ def candidates_properties_values_update(id, property_id, opts = {})
1472
+ candidates_properties_values_update_with_http_info(id, property_id, opts)
1473
+ nil
1474
+ end
1475
+
1476
+ # Add/update candidate property value
1477
+ # Please use &#x60;PUT /candidates/{id}/jobs/{jobId}/properties&#x60; instead. Set a candidate property value for the candidate. Below you can find a list of value examples, dependent on different candidate property types. * **BOOLEAN** &#x60;&#x60;&#x60; { \&quot;value\&quot;: true } &#x60;&#x60;&#x60; Value has to be &#x60;true&#x60; or &#x60;false&#x60;. * **COUNTRY** &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;us\&quot; } &#x60;&#x60;&#x60; Value has to be lowercase string in ISO 3166-1 alpha-2 format. * **CURRENCY** &#x60;&#x60;&#x60; { \&quot;value\&quot;: { \&quot;code\&quot;: \&quot;GBP\&quot;, \&quot;value\&quot;: 23232 } } &#x60;&#x60;&#x60; Code of value is a currency code in ISO 4217 format. * **DATE** &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;2015-11-17T23:00:00.000Z\&quot; } &#x60;&#x60;&#x60; * **NUMBER, PERCENT** &#x60;&#x60;&#x60; { \&quot;value\&quot;: 42 } &#x60;&#x60;&#x60; * **REGION** &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;us-wa\&quot; } &#x60;&#x60;&#x60; Value has to be lowercase string in ISO 3166-2 compatible format. * **SINGLE_SELECT** &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;f6fe768f-b5e6-4794-9938-c2f42ab0a572\&quot; } &#x60;&#x60;&#x60; Value has to be an id of candidate property value (provided by GET /configuration/candidate-properties/{propertyId}/values). * **TEXT** &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;Example text\&quot; } &#x60;&#x60;&#x60; * **USER** &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;50fe861de4b00265edec6775\&quot; } &#x60;&#x60;&#x60; Value has to be a valid user id To reset a value for any of the above types, please pass &#x60;&#x60;&#x60; {} &#x60;&#x60;&#x60;
1478
+ # @param id candidate identifier
1479
+ # @param property_id Identifier of a Candidate Property
1480
+ # @param [Hash] opts the optional parameters
1481
+ # @option opts [CandidatePropertyInputValue] :body Input value of the candidate property.
1482
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1483
+ def candidates_properties_values_update_with_http_info(id, property_id, opts = {})
1484
+ if @api_client.config.debugging
1485
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_properties_values_update ...'
1486
+ end
1487
+ # verify the required parameter 'id' is set
1488
+ if @api_client.config.client_side_validation && id.nil?
1489
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_properties_values_update"
1490
+ end
1491
+ # verify the required parameter 'property_id' is set
1492
+ if @api_client.config.client_side_validation && property_id.nil?
1493
+ fail ArgumentError, "Missing the required parameter 'property_id' when calling CandidatesApi.candidates_properties_values_update"
1494
+ end
1495
+ # resource path
1496
+ local_var_path = '/candidates/{id}/properties/{propertyId}'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'propertyId' + '}', property_id.to_s)
1497
+
1498
+ # query parameters
1499
+ query_params = opts[:query_params] || {}
1500
+
1501
+ # header parameters
1502
+ header_params = opts[:header_params] || {}
1503
+ # HTTP header 'Accept' (if needed)
1504
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1505
+ # HTTP header 'Content-Type'
1506
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1507
+
1508
+ # form parameters
1509
+ form_params = opts[:form_params] || {}
1510
+
1511
+ # http body (model)
1512
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
1513
+
1514
+ return_type = opts[:return_type]
1515
+
1516
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1517
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
1518
+ :header_params => header_params,
1519
+ :query_params => query_params,
1520
+ :form_params => form_params,
1521
+ :body => post_body,
1522
+ :auth_names => auth_names,
1523
+ :return_type => return_type)
1524
+
1525
+ if @api_client.config.debugging
1526
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_properties_values_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1527
+ end
1528
+ return data, status_code, headers
1529
+ end
1530
+ # Add/update candidate property value
1531
+ # Please use `PUT /candidates/{id}/jobs/{jobId}/properties` instead. Set a candidate property value for the candidate. Below you can find a list of value examples, dependent on different candidate property types. ### BOOLEAN ``` { \"value\": true } ``` Value has to be `true` or `false`. ### COUNTRY ``` { \"value\": \"us\" } ``` Value has to be lowercase string in ISO 3166-1 alpha-2 format. ### CURRENCY ``` { \"value\": { \"code\": \"GBP\", \"value\": 23232 } } ``` Code of value is a currency code in ISO 4217 format. ### DATE ``` { \"value\": \"2015-11-17T23:00:00.000Z\" } ``` ### NUMBER, PERCENT ``` { \"value\": 42 } ``` ### REGION ``` { \"value\": \"us-wa\" } ``` Value has to be lowercase string in ISO 3166-2 compatible format. ### SINGLE_SELECT ``` { \"value\": \"f6fe768f-b5e6-4794-9938-c2f42ab0a572\" } ``` Value has to be an id of candidate property value (provided by `GET /configuration/candidate-properties/{propertyId}/values`). ### TEXT ``` { \"value\": \"Example text\" } ``` ### USER ``` { \"value\": \"50fe861de4b00265edec6775\" } ``` Value has to be a valid user id ### Resetting a value To reset a value for any of the above types, please pass: ``` {} ```
1532
+ # @param id candidate identifier
1533
+ # @param job_id job identifier
1534
+ # @param property_id Identifier of a Candidate Property
1535
+ # @param [Hash] opts the optional parameters
1536
+ # @option opts [CandidatePropertyInputValue] :body Input value of the candidate property.
1537
+ # @return [nil]
1538
+ def candidates_properties_values_update_for_job(id, job_id, property_id, opts = {})
1539
+ candidates_properties_values_update_for_job_with_http_info(id, job_id, property_id, opts)
1540
+ nil
1541
+ end
1542
+
1543
+ # Add/update candidate property value
1544
+ # Please use &#x60;PUT /candidates/{id}/jobs/{jobId}/properties&#x60; instead. Set a candidate property value for the candidate. Below you can find a list of value examples, dependent on different candidate property types. ### BOOLEAN &#x60;&#x60;&#x60; { \&quot;value\&quot;: true } &#x60;&#x60;&#x60; Value has to be &#x60;true&#x60; or &#x60;false&#x60;. ### COUNTRY &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;us\&quot; } &#x60;&#x60;&#x60; Value has to be lowercase string in ISO 3166-1 alpha-2 format. ### CURRENCY &#x60;&#x60;&#x60; { \&quot;value\&quot;: { \&quot;code\&quot;: \&quot;GBP\&quot;, \&quot;value\&quot;: 23232 } } &#x60;&#x60;&#x60; Code of value is a currency code in ISO 4217 format. ### DATE &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;2015-11-17T23:00:00.000Z\&quot; } &#x60;&#x60;&#x60; ### NUMBER, PERCENT &#x60;&#x60;&#x60; { \&quot;value\&quot;: 42 } &#x60;&#x60;&#x60; ### REGION &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;us-wa\&quot; } &#x60;&#x60;&#x60; Value has to be lowercase string in ISO 3166-2 compatible format. ### SINGLE_SELECT &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;f6fe768f-b5e6-4794-9938-c2f42ab0a572\&quot; } &#x60;&#x60;&#x60; Value has to be an id of candidate property value (provided by &#x60;GET /configuration/candidate-properties/{propertyId}/values&#x60;). ### TEXT &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;Example text\&quot; } &#x60;&#x60;&#x60; ### USER &#x60;&#x60;&#x60; { \&quot;value\&quot;: \&quot;50fe861de4b00265edec6775\&quot; } &#x60;&#x60;&#x60; Value has to be a valid user id ### Resetting a value To reset a value for any of the above types, please pass: &#x60;&#x60;&#x60; {} &#x60;&#x60;&#x60;
1545
+ # @param id candidate identifier
1546
+ # @param job_id job identifier
1547
+ # @param property_id Identifier of a Candidate Property
1548
+ # @param [Hash] opts the optional parameters
1549
+ # @option opts [CandidatePropertyInputValue] :body Input value of the candidate property.
1550
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1551
+ def candidates_properties_values_update_for_job_with_http_info(id, job_id, property_id, opts = {})
1552
+ if @api_client.config.debugging
1553
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_properties_values_update_for_job ...'
1554
+ end
1555
+ # verify the required parameter 'id' is set
1556
+ if @api_client.config.client_side_validation && id.nil?
1557
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_properties_values_update_for_job"
1558
+ end
1559
+ # verify the required parameter 'job_id' is set
1560
+ if @api_client.config.client_side_validation && job_id.nil?
1561
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_properties_values_update_for_job"
1562
+ end
1563
+ # verify the required parameter 'property_id' is set
1564
+ if @api_client.config.client_side_validation && property_id.nil?
1565
+ fail ArgumentError, "Missing the required parameter 'property_id' when calling CandidatesApi.candidates_properties_values_update_for_job"
1566
+ end
1567
+ # resource path
1568
+ local_var_path = '/candidates/{id}/jobs/{jobId}/properties/{propertyId}'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s).sub('{' + 'propertyId' + '}', property_id.to_s)
1569
+
1570
+ # query parameters
1571
+ query_params = opts[:query_params] || {}
1572
+
1573
+ # header parameters
1574
+ header_params = opts[:header_params] || {}
1575
+ # HTTP header 'Accept' (if needed)
1576
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1577
+ # HTTP header 'Content-Type'
1578
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1579
+
1580
+ # form parameters
1581
+ form_params = opts[:form_params] || {}
1582
+
1583
+ # http body (model)
1584
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
1585
+
1586
+ return_type = opts[:return_type]
1587
+
1588
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1589
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
1590
+ :header_params => header_params,
1591
+ :query_params => query_params,
1592
+ :form_params => form_params,
1593
+ :body => post_body,
1594
+ :auth_names => auth_names,
1595
+ :return_type => return_type)
1596
+
1597
+ if @api_client.config.debugging
1598
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_properties_values_update_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1599
+ end
1600
+ return data, status_code, headers
1601
+ end
1602
+ # Parse a resume, create a candidate and assign to a Talent Pool.
1603
+ # Parse a resume, create a candidate and assign to a Talent Pool.
1604
+ # @param [Hash] opts the optional parameters
1605
+ # @option opts [String] :source_type_id
1606
+ # @option opts [String] :source_sub_type_id
1607
+ # @option opts [String] :source_id
1608
+ # @option opts [BOOLEAN] :internal
1609
+ # @option opts [String] :file
1610
+ # @return [CandidateDetails]
1611
+ def candidates_resume_add(opts = {})
1612
+ data, _status_code, _headers = candidates_resume_add_with_http_info(opts)
1613
+ data
1614
+ end
1615
+
1616
+ # Parse a resume, create a candidate and assign to a Talent Pool.
1617
+ # Parse a resume, create a candidate and assign to a Talent Pool.
1618
+ # @param [Hash] opts the optional parameters
1619
+ # @option opts [String] :source_type_id
1620
+ # @option opts [String] :source_sub_type_id
1621
+ # @option opts [String] :source_id
1622
+ # @option opts [BOOLEAN] :internal
1623
+ # @option opts [String] :file
1624
+ # @return [Array<(CandidateDetails, Integer, Hash)>] CandidateDetails data, response status code and response headers
1625
+ def candidates_resume_add_with_http_info(opts = {})
1626
+ if @api_client.config.debugging
1627
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_resume_add ...'
1628
+ end
1629
+ # resource path
1630
+ local_var_path = '/candidates/cv'
1631
+
1632
+ # query parameters
1633
+ query_params = opts[:query_params] || {}
1634
+
1635
+ # header parameters
1636
+ header_params = opts[:header_params] || {}
1637
+ # HTTP header 'Accept' (if needed)
1638
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1639
+ # HTTP header 'Content-Type'
1640
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
1641
+
1642
+ # form parameters
1643
+ form_params = opts[:form_params] || {}
1644
+ form_params['sourceTypeId'] = opts[:'source_type_id'] if !opts[:'source_type_id'].nil?
1645
+ form_params['sourceSubTypeId'] = opts[:'source_sub_type_id'] if !opts[:'source_sub_type_id'].nil?
1646
+ form_params['sourceId'] = opts[:'source_id'] if !opts[:'source_id'].nil?
1647
+ form_params['internal'] = opts[:'internal'] if !opts[:'internal'].nil?
1648
+ form_params['file'] = opts[:'file'] if !opts[:'file'].nil?
1649
+
1650
+ # http body (model)
1651
+ post_body = opts[:body]
1652
+
1653
+ return_type = opts[:return_type] || 'CandidateDetails'
1654
+
1655
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1656
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
1657
+ :header_params => header_params,
1658
+ :query_params => query_params,
1659
+ :form_params => form_params,
1660
+ :body => post_body,
1661
+ :auth_names => auth_names,
1662
+ :return_type => return_type)
1663
+
1664
+ if @api_client.config.debugging
1665
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_resume_add\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1666
+ end
1667
+ return data, status_code, headers
1668
+ end
1669
+ # Parse a resume, create a candidate and assign to a job.
1670
+ # Parse a resume, create a candidate and assign to a job.
1671
+ # @param job_id job identifier
1672
+ # @param [Hash] opts the optional parameters
1673
+ # @option opts [String] :source_type_id
1674
+ # @option opts [String] :source_sub_type_id
1675
+ # @option opts [String] :source_id
1676
+ # @option opts [BOOLEAN] :internal
1677
+ # @option opts [String] :file
1678
+ # @return [CandidateDetails]
1679
+ def candidates_resume_add_to_job(job_id, opts = {})
1680
+ data, _status_code, _headers = candidates_resume_add_to_job_with_http_info(job_id, opts)
1681
+ data
1682
+ end
1683
+
1684
+ # Parse a resume, create a candidate and assign to a job.
1685
+ # Parse a resume, create a candidate and assign to a job.
1686
+ # @param job_id job identifier
1687
+ # @param [Hash] opts the optional parameters
1688
+ # @option opts [String] :source_type_id
1689
+ # @option opts [String] :source_sub_type_id
1690
+ # @option opts [String] :source_id
1691
+ # @option opts [BOOLEAN] :internal
1692
+ # @option opts [String] :file
1693
+ # @return [Array<(CandidateDetails, Integer, Hash)>] CandidateDetails data, response status code and response headers
1694
+ def candidates_resume_add_to_job_with_http_info(job_id, opts = {})
1695
+ if @api_client.config.debugging
1696
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_resume_add_to_job ...'
1697
+ end
1698
+ # verify the required parameter 'job_id' is set
1699
+ if @api_client.config.client_side_validation && job_id.nil?
1700
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_resume_add_to_job"
1701
+ end
1702
+ # resource path
1703
+ local_var_path = '/jobs/{jobId}/candidates/cv'.sub('{' + 'jobId' + '}', job_id.to_s)
1704
+
1705
+ # query parameters
1706
+ query_params = opts[:query_params] || {}
1707
+
1708
+ # header parameters
1709
+ header_params = opts[:header_params] || {}
1710
+ # HTTP header 'Accept' (if needed)
1711
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1712
+ # HTTP header 'Content-Type'
1713
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
1714
+
1715
+ # form parameters
1716
+ form_params = opts[:form_params] || {}
1717
+ form_params['sourceTypeId'] = opts[:'source_type_id'] if !opts[:'source_type_id'].nil?
1718
+ form_params['sourceSubTypeId'] = opts[:'source_sub_type_id'] if !opts[:'source_sub_type_id'].nil?
1719
+ form_params['sourceId'] = opts[:'source_id'] if !opts[:'source_id'].nil?
1720
+ form_params['internal'] = opts[:'internal'] if !opts[:'internal'].nil?
1721
+ form_params['file'] = opts[:'file'] if !opts[:'file'].nil?
1722
+
1723
+ # http body (model)
1724
+ post_body = opts[:body]
1725
+
1726
+ return_type = opts[:return_type] || 'CandidateDetails'
1727
+
1728
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1729
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
1730
+ :header_params => header_params,
1731
+ :query_params => query_params,
1732
+ :form_params => form_params,
1733
+ :body => post_body,
1734
+ :auth_names => auth_names,
1735
+ :return_type => return_type)
1736
+
1737
+ if @api_client.config.debugging
1738
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_resume_add_to_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1739
+ end
1740
+ return data, status_code, headers
1741
+ end
1742
+ # Get candidate screening answers for a candidate's job
1743
+ # Returns candidate screening question answers for a candidate's job. Returns an empty array when there is no screening answers for given candidate's job. UUID in question category indicates custom question. Other value indicates predefined library question. In order to create human readable format of answers please use label properties. Ignore labels for answers with single field. Based on labels from included example you can get following text: ```text Do you have a current driver's license? - No Free text question - Long text answer for free text questions Checkbox question - Confirmed Legacy acknowledgment question - replaced by checkbox - Confirmed Gender, Race and Ethnicity [(definitions)](https://smartrecruiters.com/oneclick/static/html/en/eeoGeneral.html) - Gender: Male - Race/Ethnicity: Prefer not to answer Currency question - 1234 Multiple choice dropdown - third value, second value, first value Languages 1) - Language: English - Proficiency level: Advanced 2) - Language: Spanish - Proficiency level: Beginner 3) - Language: French - Proficiency level: Intermediate What are your preferred work shifts? 1) - Day: Weekdays - From: 08:00 AM - To: 04:00 PM 2) - Day: Weekdays - From: 10:00 AM - To: 02:00 PM Your Name - John ```
1744
+ # @param id candidate identifier
1745
+ # @param job_id job identifier
1746
+ # @param [Hash] opts the optional parameters
1747
+ # @return [ScreeningAnswers]
1748
+ def candidates_screening_answers_get(id, job_id, opts = {})
1749
+ data, _status_code, _headers = candidates_screening_answers_get_with_http_info(id, job_id, opts)
1750
+ data
1751
+ end
1752
+
1753
+ # Get candidate screening answers for a candidate&#x27;s job
1754
+ # Returns candidate screening question answers for a candidate&#x27;s job. Returns an empty array when there is no screening answers for given candidate&#x27;s job. UUID in question category indicates custom question. Other value indicates predefined library question. In order to create human readable format of answers please use label properties. Ignore labels for answers with single field. Based on labels from included example you can get following text: &#x60;&#x60;&#x60;text Do you have a current driver&#x27;s license? - No Free text question - Long text answer for free text questions Checkbox question - Confirmed Legacy acknowledgment question - replaced by checkbox - Confirmed Gender, Race and Ethnicity [(definitions)](https://smartrecruiters.com/oneclick/static/html/en/eeoGeneral.html) - Gender: Male - Race/Ethnicity: Prefer not to answer Currency question - 1234 Multiple choice dropdown - third value, second value, first value Languages 1) - Language: English - Proficiency level: Advanced 2) - Language: Spanish - Proficiency level: Beginner 3) - Language: French - Proficiency level: Intermediate What are your preferred work shifts? 1) - Day: Weekdays - From: 08:00 AM - To: 04:00 PM 2) - Day: Weekdays - From: 10:00 AM - To: 02:00 PM Your Name - John &#x60;&#x60;&#x60;
1755
+ # @param id candidate identifier
1756
+ # @param job_id job identifier
1757
+ # @param [Hash] opts the optional parameters
1758
+ # @return [Array<(ScreeningAnswers, Integer, Hash)>] ScreeningAnswers data, response status code and response headers
1759
+ def candidates_screening_answers_get_with_http_info(id, job_id, opts = {})
1760
+ if @api_client.config.debugging
1761
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_screening_answers_get ...'
1762
+ end
1763
+ # verify the required parameter 'id' is set
1764
+ if @api_client.config.client_side_validation && id.nil?
1765
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_screening_answers_get"
1766
+ end
1767
+ # verify the required parameter 'job_id' is set
1768
+ if @api_client.config.client_side_validation && job_id.nil?
1769
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_screening_answers_get"
1770
+ end
1771
+ # resource path
1772
+ local_var_path = '/candidates/{id}/jobs/{jobId}/screening-answers'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
1773
+
1774
+ # query parameters
1775
+ query_params = opts[:query_params] || {}
1776
+
1777
+ # header parameters
1778
+ header_params = opts[:header_params] || {}
1779
+ # HTTP header 'Accept' (if needed)
1780
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1781
+
1782
+ # form parameters
1783
+ form_params = opts[:form_params] || {}
1784
+
1785
+ # http body (model)
1786
+ post_body = opts[:body]
1787
+
1788
+ return_type = opts[:return_type] || 'ScreeningAnswers'
1789
+
1790
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1791
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1792
+ :header_params => header_params,
1793
+ :query_params => query_params,
1794
+ :form_params => form_params,
1795
+ :body => post_body,
1796
+ :auth_names => auth_names,
1797
+ :return_type => return_type)
1798
+
1799
+ if @api_client.config.debugging
1800
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_screening_answers_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1801
+ end
1802
+ return data, status_code, headers
1803
+ end
1804
+ # Update a candidate's source
1805
+ # Update a candidate's source
1806
+ # @param body Candidate source to be set
1807
+ # @param id candidate identifier
1808
+ # @param job_id job identifier
1809
+ # @param [Hash] opts the optional parameters
1810
+ # @return [nil]
1811
+ def candidates_source_update(body, id, job_id, opts = {})
1812
+ candidates_source_update_with_http_info(body, id, job_id, opts)
1813
+ nil
1814
+ end
1815
+
1816
+ # Update a candidate&#x27;s source
1817
+ # Update a candidate&#x27;s source
1818
+ # @param body Candidate source to be set
1819
+ # @param id candidate identifier
1820
+ # @param job_id job identifier
1821
+ # @param [Hash] opts the optional parameters
1822
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1823
+ def candidates_source_update_with_http_info(body, id, job_id, opts = {})
1824
+ if @api_client.config.debugging
1825
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_source_update ...'
1826
+ end
1827
+ # verify the required parameter 'body' is set
1828
+ if @api_client.config.client_side_validation && body.nil?
1829
+ fail ArgumentError, "Missing the required parameter 'body' when calling CandidatesApi.candidates_source_update"
1830
+ end
1831
+ # verify the required parameter 'id' is set
1832
+ if @api_client.config.client_side_validation && id.nil?
1833
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_source_update"
1834
+ end
1835
+ # verify the required parameter 'job_id' is set
1836
+ if @api_client.config.client_side_validation && job_id.nil?
1837
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_source_update"
1838
+ end
1839
+ # resource path
1840
+ local_var_path = '/candidates/{id}/jobs/{jobId}/source'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
1841
+
1842
+ # query parameters
1843
+ query_params = opts[:query_params] || {}
1844
+
1845
+ # header parameters
1846
+ header_params = opts[:header_params] || {}
1847
+ # HTTP header 'Accept' (if needed)
1848
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1849
+ # HTTP header 'Content-Type'
1850
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1851
+
1852
+ # form parameters
1853
+ form_params = opts[:form_params] || {}
1854
+
1855
+ # http body (model)
1856
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1857
+
1858
+ return_type = opts[:return_type]
1859
+
1860
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1861
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
1862
+ :header_params => header_params,
1863
+ :query_params => query_params,
1864
+ :form_params => form_params,
1865
+ :body => post_body,
1866
+ :auth_names => auth_names,
1867
+ :return_type => return_type)
1868
+
1869
+ if @api_client.config.debugging
1870
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_source_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1871
+ end
1872
+ return data, status_code, headers
1873
+ end
1874
+ # Get candidate's status history
1875
+ # Get candidate's status history. Please use `GET /candidates/{id}/jobs/{jobId}/status/history` instead.
1876
+ # @param id candidate identifier
1877
+ # @param [Hash] opts the optional parameters
1878
+ # @return [CandidateStatusHistoryList]
1879
+ def candidates_status_history_get(id, opts = {})
1880
+ data, _status_code, _headers = candidates_status_history_get_with_http_info(id, opts)
1881
+ data
1882
+ end
1883
+
1884
+ # Get candidate&#x27;s status history
1885
+ # Get candidate&#x27;s status history. Please use &#x60;GET /candidates/{id}/jobs/{jobId}/status/history&#x60; instead.
1886
+ # @param id candidate identifier
1887
+ # @param [Hash] opts the optional parameters
1888
+ # @return [Array<(CandidateStatusHistoryList, Integer, Hash)>] CandidateStatusHistoryList data, response status code and response headers
1889
+ def candidates_status_history_get_with_http_info(id, opts = {})
1890
+ if @api_client.config.debugging
1891
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_status_history_get ...'
1892
+ end
1893
+ # verify the required parameter 'id' is set
1894
+ if @api_client.config.client_side_validation && id.nil?
1895
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_status_history_get"
1896
+ end
1897
+ # resource path
1898
+ local_var_path = '/candidates/{id}/status/history'.sub('{' + 'id' + '}', id.to_s)
1899
+
1900
+ # query parameters
1901
+ query_params = opts[:query_params] || {}
1902
+
1903
+ # header parameters
1904
+ header_params = opts[:header_params] || {}
1905
+ # HTTP header 'Accept' (if needed)
1906
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1907
+
1908
+ # form parameters
1909
+ form_params = opts[:form_params] || {}
1910
+
1911
+ # http body (model)
1912
+ post_body = opts[:body]
1913
+
1914
+ return_type = opts[:return_type] || 'CandidateStatusHistoryList'
1915
+
1916
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1917
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1918
+ :header_params => header_params,
1919
+ :query_params => query_params,
1920
+ :form_params => form_params,
1921
+ :body => post_body,
1922
+ :auth_names => auth_names,
1923
+ :return_type => return_type)
1924
+
1925
+ if @api_client.config.debugging
1926
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_status_history_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1927
+ end
1928
+ return data, status_code, headers
1929
+ end
1930
+ # Get candidate's status history for a candidate's job
1931
+ # Get candidate's status history for a candidate's job
1932
+ # @param id candidate identifier
1933
+ # @param job_id job identifier
1934
+ # @param [Hash] opts the optional parameters
1935
+ # @return [CandidateStatusHistoryList]
1936
+ def candidates_status_history_get_for_job(id, job_id, opts = {})
1937
+ data, _status_code, _headers = candidates_status_history_get_for_job_with_http_info(id, job_id, opts)
1938
+ data
1939
+ end
1940
+
1941
+ # Get candidate&#x27;s status history for a candidate&#x27;s job
1942
+ # Get candidate&#x27;s status history for a candidate&#x27;s job
1943
+ # @param id candidate identifier
1944
+ # @param job_id job identifier
1945
+ # @param [Hash] opts the optional parameters
1946
+ # @return [Array<(CandidateStatusHistoryList, Integer, Hash)>] CandidateStatusHistoryList data, response status code and response headers
1947
+ def candidates_status_history_get_for_job_with_http_info(id, job_id, opts = {})
1948
+ if @api_client.config.debugging
1949
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_status_history_get_for_job ...'
1950
+ end
1951
+ # verify the required parameter 'id' is set
1952
+ if @api_client.config.client_side_validation && id.nil?
1953
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_status_history_get_for_job"
1954
+ end
1955
+ # verify the required parameter 'job_id' is set
1956
+ if @api_client.config.client_side_validation && job_id.nil?
1957
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_status_history_get_for_job"
1958
+ end
1959
+ # resource path
1960
+ local_var_path = '/candidates/{id}/jobs/{jobId}/status/history'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
1961
+
1962
+ # query parameters
1963
+ query_params = opts[:query_params] || {}
1964
+
1965
+ # header parameters
1966
+ header_params = opts[:header_params] || {}
1967
+ # HTTP header 'Accept' (if needed)
1968
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1969
+
1970
+ # form parameters
1971
+ form_params = opts[:form_params] || {}
1972
+
1973
+ # http body (model)
1974
+ post_body = opts[:body]
1975
+
1976
+ return_type = opts[:return_type] || 'CandidateStatusHistoryList'
1977
+
1978
+ auth_names = opts[:auth_names] || ['key', 'oauth']
1979
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1980
+ :header_params => header_params,
1981
+ :query_params => query_params,
1982
+ :form_params => form_params,
1983
+ :body => post_body,
1984
+ :auth_names => auth_names,
1985
+ :return_type => return_type)
1986
+
1987
+ if @api_client.config.debugging
1988
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_status_history_get_for_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1989
+ end
1990
+ return data, status_code, headers
1991
+ end
1992
+ # Update a candidate's status
1993
+ # Update a candidate's status
1994
+ # @param id candidate identifier
1995
+ # @param job_id job identifier
1996
+ # @param [Hash] opts the optional parameters
1997
+ # @option opts [CandidateStatus] :body Candidate Status to be set
1998
+ # @return [nil]
1999
+ def candidates_status_update(id, job_id, opts = {})
2000
+ candidates_status_update_with_http_info(id, job_id, opts)
2001
+ nil
2002
+ end
2003
+
2004
+ # Update a candidate&#x27;s status
2005
+ # Update a candidate&#x27;s status
2006
+ # @param id candidate identifier
2007
+ # @param job_id job identifier
2008
+ # @param [Hash] opts the optional parameters
2009
+ # @option opts [CandidateStatus] :body Candidate Status to be set
2010
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2011
+ def candidates_status_update_with_http_info(id, job_id, opts = {})
2012
+ if @api_client.config.debugging
2013
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_status_update ...'
2014
+ end
2015
+ # verify the required parameter 'id' is set
2016
+ if @api_client.config.client_side_validation && id.nil?
2017
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_status_update"
2018
+ end
2019
+ # verify the required parameter 'job_id' is set
2020
+ if @api_client.config.client_side_validation && job_id.nil?
2021
+ fail ArgumentError, "Missing the required parameter 'job_id' when calling CandidatesApi.candidates_status_update"
2022
+ end
2023
+ # resource path
2024
+ local_var_path = '/candidates/{id}/jobs/{jobId}/status'.sub('{' + 'id' + '}', id.to_s).sub('{' + 'jobId' + '}', job_id.to_s)
2025
+
2026
+ # query parameters
2027
+ query_params = opts[:query_params] || {}
2028
+
2029
+ # header parameters
2030
+ header_params = opts[:header_params] || {}
2031
+ # HTTP header 'Accept' (if needed)
2032
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2033
+ # HTTP header 'Content-Type'
2034
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2035
+
2036
+ # form parameters
2037
+ form_params = opts[:form_params] || {}
2038
+
2039
+ # http body (model)
2040
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
2041
+
2042
+ return_type = opts[:return_type]
2043
+
2044
+ auth_names = opts[:auth_names] || ['key', 'oauth']
2045
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
2046
+ :header_params => header_params,
2047
+ :query_params => query_params,
2048
+ :form_params => form_params,
2049
+ :body => post_body,
2050
+ :auth_names => auth_names,
2051
+ :return_type => return_type)
2052
+
2053
+ if @api_client.config.debugging
2054
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_status_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2055
+ end
2056
+ return data, status_code, headers
2057
+ end
2058
+ # Update a candidate's status on primary assignment
2059
+ # Update a candidate's status on primary assignment. Please use `PUT /candidates/{id}/jobs/{jobId}/status` instead.
2060
+ # @param id candidate identifier
2061
+ # @param [Hash] opts the optional parameters
2062
+ # @option opts [CandidateStatus] :body Candidate Status to be set
2063
+ # @return [nil]
2064
+ def candidates_status_update_primary(id, opts = {})
2065
+ candidates_status_update_primary_with_http_info(id, opts)
2066
+ nil
2067
+ end
2068
+
2069
+ # Update a candidate&#x27;s status on primary assignment
2070
+ # Update a candidate&#x27;s status on primary assignment. Please use &#x60;PUT /candidates/{id}/jobs/{jobId}/status&#x60; instead.
2071
+ # @param id candidate identifier
2072
+ # @param [Hash] opts the optional parameters
2073
+ # @option opts [CandidateStatus] :body Candidate Status to be set
2074
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2075
+ def candidates_status_update_primary_with_http_info(id, opts = {})
2076
+ if @api_client.config.debugging
2077
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_status_update_primary ...'
2078
+ end
2079
+ # verify the required parameter 'id' is set
2080
+ if @api_client.config.client_side_validation && id.nil?
2081
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_status_update_primary"
2082
+ end
2083
+ # resource path
2084
+ local_var_path = '/candidates/{id}/status'.sub('{' + 'id' + '}', id.to_s)
2085
+
2086
+ # query parameters
2087
+ query_params = opts[:query_params] || {}
2088
+
2089
+ # header parameters
2090
+ header_params = opts[:header_params] || {}
2091
+ # HTTP header 'Accept' (if needed)
2092
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2093
+ # HTTP header 'Content-Type'
2094
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2095
+
2096
+ # form parameters
2097
+ form_params = opts[:form_params] || {}
2098
+
2099
+ # http body (model)
2100
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
2101
+
2102
+ return_type = opts[:return_type]
2103
+
2104
+ auth_names = opts[:auth_names] || ['key', 'oauth']
2105
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
2106
+ :header_params => header_params,
2107
+ :query_params => query_params,
2108
+ :form_params => form_params,
2109
+ :body => post_body,
2110
+ :auth_names => auth_names,
2111
+ :return_type => return_type)
2112
+
2113
+ if @api_client.config.debugging
2114
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_status_update_primary\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2115
+ end
2116
+ return data, status_code, headers
2117
+ end
2118
+ # Add tags to a candidate
2119
+ # Add new tags to a given candidate. It doesn't replace existing tags.
2120
+ # @param body Tags to be added.
2121
+ # @param id candidate identifier
2122
+ # @param [Hash] opts the optional parameters
2123
+ # @return [CandidateTags]
2124
+ def candidates_tags_add(body, id, opts = {})
2125
+ data, _status_code, _headers = candidates_tags_add_with_http_info(body, id, opts)
2126
+ data
2127
+ end
2128
+
2129
+ # Add tags to a candidate
2130
+ # Add new tags to a given candidate. It doesn&#x27;t replace existing tags.
2131
+ # @param body Tags to be added.
2132
+ # @param id candidate identifier
2133
+ # @param [Hash] opts the optional parameters
2134
+ # @return [Array<(CandidateTags, Integer, Hash)>] CandidateTags data, response status code and response headers
2135
+ def candidates_tags_add_with_http_info(body, id, opts = {})
2136
+ if @api_client.config.debugging
2137
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_tags_add ...'
2138
+ end
2139
+ # verify the required parameter 'body' is set
2140
+ if @api_client.config.client_side_validation && body.nil?
2141
+ fail ArgumentError, "Missing the required parameter 'body' when calling CandidatesApi.candidates_tags_add"
2142
+ end
2143
+ # verify the required parameter 'id' is set
2144
+ if @api_client.config.client_side_validation && id.nil?
2145
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_tags_add"
2146
+ end
2147
+ # resource path
2148
+ local_var_path = '/candidates/{id}/tags'.sub('{' + 'id' + '}', id.to_s)
2149
+
2150
+ # query parameters
2151
+ query_params = opts[:query_params] || {}
2152
+
2153
+ # header parameters
2154
+ header_params = opts[:header_params] || {}
2155
+ # HTTP header 'Accept' (if needed)
2156
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2157
+ # HTTP header 'Content-Type'
2158
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2159
+
2160
+ # form parameters
2161
+ form_params = opts[:form_params] || {}
2162
+
2163
+ # http body (model)
2164
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
2165
+
2166
+ return_type = opts[:return_type] || 'CandidateTags'
2167
+
2168
+ auth_names = opts[:auth_names] || ['key', 'oauth']
2169
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
2170
+ :header_params => header_params,
2171
+ :query_params => query_params,
2172
+ :form_params => form_params,
2173
+ :body => post_body,
2174
+ :auth_names => auth_names,
2175
+ :return_type => return_type)
2176
+
2177
+ if @api_client.config.debugging
2178
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_tags_add\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2179
+ end
2180
+ return data, status_code, headers
2181
+ end
2182
+ # Delete tags for a candidate
2183
+ # Delete tags for a given candidate. All tags associated with a candidate are removed.
2184
+ # @param id candidate identifier
2185
+ # @param [Hash] opts the optional parameters
2186
+ # @return [nil]
2187
+ def candidates_tags_delete(id, opts = {})
2188
+ candidates_tags_delete_with_http_info(id, opts)
2189
+ nil
2190
+ end
2191
+
2192
+ # Delete tags for a candidate
2193
+ # Delete tags for a given candidate. All tags associated with a candidate are removed.
2194
+ # @param id candidate identifier
2195
+ # @param [Hash] opts the optional parameters
2196
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2197
+ def candidates_tags_delete_with_http_info(id, opts = {})
2198
+ if @api_client.config.debugging
2199
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_tags_delete ...'
2200
+ end
2201
+ # verify the required parameter 'id' is set
2202
+ if @api_client.config.client_side_validation && id.nil?
2203
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_tags_delete"
2204
+ end
2205
+ # resource path
2206
+ local_var_path = '/candidates/{id}/tags'.sub('{' + 'id' + '}', id.to_s)
2207
+
2208
+ # query parameters
2209
+ query_params = opts[:query_params] || {}
2210
+
2211
+ # header parameters
2212
+ header_params = opts[:header_params] || {}
2213
+ # HTTP header 'Accept' (if needed)
2214
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2215
+
2216
+ # form parameters
2217
+ form_params = opts[:form_params] || {}
2218
+
2219
+ # http body (model)
2220
+ post_body = opts[:body]
2221
+
2222
+ return_type = opts[:return_type]
2223
+
2224
+ auth_names = opts[:auth_names] || ['key', 'oauth']
2225
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
2226
+ :header_params => header_params,
2227
+ :query_params => query_params,
2228
+ :form_params => form_params,
2229
+ :body => post_body,
2230
+ :auth_names => auth_names,
2231
+ :return_type => return_type)
2232
+
2233
+ if @api_client.config.debugging
2234
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_tags_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2235
+ end
2236
+ return data, status_code, headers
2237
+ end
2238
+ # Get tags for a candidate
2239
+ # @param id candidate identifier
2240
+ # @param [Hash] opts the optional parameters
2241
+ # @return [CandidateTags]
2242
+ def candidates_tags_get(id, opts = {})
2243
+ data, _status_code, _headers = candidates_tags_get_with_http_info(id, opts)
2244
+ data
2245
+ end
2246
+
2247
+ # Get tags for a candidate
2248
+ # @param id candidate identifier
2249
+ # @param [Hash] opts the optional parameters
2250
+ # @return [Array<(CandidateTags, Integer, Hash)>] CandidateTags data, response status code and response headers
2251
+ def candidates_tags_get_with_http_info(id, opts = {})
2252
+ if @api_client.config.debugging
2253
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_tags_get ...'
2254
+ end
2255
+ # verify the required parameter 'id' is set
2256
+ if @api_client.config.client_side_validation && id.nil?
2257
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_tags_get"
2258
+ end
2259
+ # resource path
2260
+ local_var_path = '/candidates/{id}/tags'.sub('{' + 'id' + '}', id.to_s)
2261
+
2262
+ # query parameters
2263
+ query_params = opts[:query_params] || {}
2264
+
2265
+ # header parameters
2266
+ header_params = opts[:header_params] || {}
2267
+ # HTTP header 'Accept' (if needed)
2268
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2269
+
2270
+ # form parameters
2271
+ form_params = opts[:form_params] || {}
2272
+
2273
+ # http body (model)
2274
+ post_body = opts[:body]
2275
+
2276
+ return_type = opts[:return_type] || 'CandidateTags'
2277
+
2278
+ auth_names = opts[:auth_names] || ['key', 'oauth']
2279
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2280
+ :header_params => header_params,
2281
+ :query_params => query_params,
2282
+ :form_params => form_params,
2283
+ :body => post_body,
2284
+ :auth_names => auth_names,
2285
+ :return_type => return_type)
2286
+
2287
+ if @api_client.config.debugging
2288
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_tags_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2289
+ end
2290
+ return data, status_code, headers
2291
+ end
2292
+ # Update tags for a candidate
2293
+ # Update tags for a given candidate. It replaces all existing tags with the new array provided.
2294
+ # @param body Tags to be set.
2295
+ # @param id candidate identifier
2296
+ # @param [Hash] opts the optional parameters
2297
+ # @return [CandidateTags]
2298
+ def candidates_tags_replace(body, id, opts = {})
2299
+ data, _status_code, _headers = candidates_tags_replace_with_http_info(body, id, opts)
2300
+ data
2301
+ end
2302
+
2303
+ # Update tags for a candidate
2304
+ # Update tags for a given candidate. It replaces all existing tags with the new array provided.
2305
+ # @param body Tags to be set.
2306
+ # @param id candidate identifier
2307
+ # @param [Hash] opts the optional parameters
2308
+ # @return [Array<(CandidateTags, Integer, Hash)>] CandidateTags data, response status code and response headers
2309
+ def candidates_tags_replace_with_http_info(body, id, opts = {})
2310
+ if @api_client.config.debugging
2311
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_tags_replace ...'
2312
+ end
2313
+ # verify the required parameter 'body' is set
2314
+ if @api_client.config.client_side_validation && body.nil?
2315
+ fail ArgumentError, "Missing the required parameter 'body' when calling CandidatesApi.candidates_tags_replace"
2316
+ end
2317
+ # verify the required parameter 'id' is set
2318
+ if @api_client.config.client_side_validation && id.nil?
2319
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_tags_replace"
2320
+ end
2321
+ # resource path
2322
+ local_var_path = '/candidates/{id}/tags'.sub('{' + 'id' + '}', id.to_s)
2323
+
2324
+ # query parameters
2325
+ query_params = opts[:query_params] || {}
2326
+
2327
+ # header parameters
2328
+ header_params = opts[:header_params] || {}
2329
+ # HTTP header 'Accept' (if needed)
2330
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2331
+ # HTTP header 'Content-Type'
2332
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2333
+
2334
+ # form parameters
2335
+ form_params = opts[:form_params] || {}
2336
+
2337
+ # http body (model)
2338
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
2339
+
2340
+ return_type = opts[:return_type] || 'CandidateTags'
2341
+
2342
+ auth_names = opts[:auth_names] || ['key', 'oauth']
2343
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
2344
+ :header_params => header_params,
2345
+ :query_params => query_params,
2346
+ :form_params => form_params,
2347
+ :body => post_body,
2348
+ :auth_names => auth_names,
2349
+ :return_type => return_type)
2350
+
2351
+ if @api_client.config.debugging
2352
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_tags_replace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2353
+ end
2354
+ return data, status_code, headers
2355
+ end
2356
+ # Update candidate personal information
2357
+ # Update candidate details
2358
+ # @param id candidate identifier
2359
+ # @param [Hash] opts the optional parameters
2360
+ # @option opts [PersonalDetails] :body Candidate personal information
2361
+ # @return [CandidateDetails]
2362
+ def candidates_update(id, opts = {})
2363
+ data, _status_code, _headers = candidates_update_with_http_info(id, opts)
2364
+ data
2365
+ end
2366
+
2367
+ # Update candidate personal information
2368
+ # Update candidate details
2369
+ # @param id candidate identifier
2370
+ # @param [Hash] opts the optional parameters
2371
+ # @option opts [PersonalDetails] :body Candidate personal information
2372
+ # @return [Array<(CandidateDetails, Integer, Hash)>] CandidateDetails data, response status code and response headers
2373
+ def candidates_update_with_http_info(id, opts = {})
2374
+ if @api_client.config.debugging
2375
+ @api_client.config.logger.debug 'Calling API: CandidatesApi.candidates_update ...'
2376
+ end
2377
+ # verify the required parameter 'id' is set
2378
+ if @api_client.config.client_side_validation && id.nil?
2379
+ fail ArgumentError, "Missing the required parameter 'id' when calling CandidatesApi.candidates_update"
2380
+ end
2381
+ # resource path
2382
+ local_var_path = '/candidates/{id}'.sub('{' + 'id' + '}', id.to_s)
2383
+
2384
+ # query parameters
2385
+ query_params = opts[:query_params] || {}
2386
+
2387
+ # header parameters
2388
+ header_params = opts[:header_params] || {}
2389
+ # HTTP header 'Accept' (if needed)
2390
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2391
+ # HTTP header 'Content-Type'
2392
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2393
+
2394
+ # form parameters
2395
+ form_params = opts[:form_params] || {}
2396
+
2397
+ # http body (model)
2398
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
2399
+
2400
+ return_type = opts[:return_type] || 'CandidateDetails'
2401
+
2402
+ auth_names = opts[:auth_names] || ['key', 'oauth']
2403
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
2404
+ :header_params => header_params,
2405
+ :query_params => query_params,
2406
+ :form_params => form_params,
2407
+ :body => post_body,
2408
+ :auth_names => auth_names,
2409
+ :return_type => return_type)
2410
+
2411
+ if @api_client.config.debugging
2412
+ @api_client.config.logger.debug "API called: CandidatesApi#candidates_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2413
+ end
2414
+ return data, status_code, headers
2415
+ end
2416
+ end
2417
+ end