plainrouter-sdk 0.2.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -2
  3. data/lib/plainrouter/client.rb +338 -3
  4. data/lib/plainrouter/closed_input_objects.json +3896 -0
  5. data/lib/plainrouter/closed_input_validator.rb +246 -0
  6. data/lib/plainrouter/integer_input_fields.json +579 -0
  7. data/lib/plainrouter/openapi/api/action_dry_run_api_api.rb +2 -2
  8. data/lib/plainrouter/openapi/api/action_proposal_api_api.rb +2 -2
  9. data/lib/plainrouter/openapi/api/action_read_api_api.rb +71 -31
  10. data/lib/plainrouter/openapi/api/action_rule_api_api.rb +350 -0
  11. data/lib/plainrouter/openapi/api/ad_test_api_api.rb +263 -0
  12. data/lib/plainrouter/openapi/api/agent_context_api.rb +93 -0
  13. data/lib/plainrouter/openapi/api/cookie_declaration_api.rb +90 -0
  14. data/lib/plainrouter/openapi/api/creative_api.rb +422 -0
  15. data/lib/plainrouter/openapi/api/deployment_plan_api.rb +561 -0
  16. data/lib/plainrouter/openapi/api/draft_batch_file_import_api.rb +142 -0
  17. data/lib/plainrouter/openapi/api/launch_policy_api.rb +242 -0
  18. data/lib/plainrouter/openapi/api/meta_inventory_exposure_api.rb +254 -0
  19. data/lib/plainrouter/openapi/api_client.rb +3 -0
  20. data/lib/plainrouter/openapi/api_model_base.rb +2 -0
  21. data/lib/plainrouter/openapi/configuration.rb +76 -0
  22. data/lib/plainrouter/openapi/models/action_batch_read_data.rb +42 -4
  23. data/lib/plainrouter/openapi/models/action_current_disposition.rb +13 -1
  24. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload.rb +238 -0
  25. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline.rb +103 -0
  26. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_baseline_any_of.rb +245 -0
  27. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_inverse.rb +206 -0
  28. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics.rb +103 -0
  29. data/lib/plainrouter/openapi/models/action_current_disposition_outcome_payload_metrics_any_of.rb +276 -0
  30. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run.rb +42 -4
  31. data/lib/plainrouter/openapi/models/action_list_read_meta.rb +33 -4
  32. data/lib/plainrouter/openapi/models/action_policy_read_data.rb +3 -105
  33. data/lib/plainrouter/openapi/models/action_policy_result.rb +374 -0
  34. data/lib/plainrouter/openapi/models/action_proposal_input.rb +103 -4
  35. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner.rb +1 -0
  36. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of.rb +2 -0
  37. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of1.rb +2 -0
  38. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10.rb +2 -0
  39. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10_params.rb +2 -0
  40. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11.rb +3 -1
  41. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12.rb +2 -0
  42. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12_params.rb +2 -0
  43. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13.rb +2 -0
  44. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13_params.rb +2 -0
  45. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of2.rb +2 -0
  46. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of3.rb +2 -0
  47. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4.rb +2 -0
  48. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4_target_entity.rb +2 -0
  49. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of5.rb +2 -0
  50. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of6.rb +2 -0
  51. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of7.rb +2 -0
  52. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of8.rb +2 -0
  53. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of9.rb +2 -0
  54. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_params.rb +2 -0
  55. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_target_entity.rb +2 -0
  56. data/lib/plainrouter/openapi/models/action_proposal_input_evidence_inner.rb +4 -2
  57. data/lib/plainrouter/openapi/models/action_proposal_read_proposal.rb +42 -4
  58. data/lib/plainrouter/openapi/models/action_read_item.rb +72 -4
  59. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence.rb +319 -0
  60. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_counted.rb +174 -0
  61. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_coverage.rb +162 -0
  62. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_meta_reported.rb +198 -0
  63. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_target.rb +190 -0
  64. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_window.rb +225 -0
  65. data/lib/plainrouter/openapi/models/action_read_item_evidence.rb +105 -0
  66. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of.rb +190 -0
  67. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of1.rb +242 -0
  68. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of2.rb +217 -0
  69. data/lib/plainrouter/openapi/models/action_read_item_evidence_any_of_outcome.rb +238 -0
  70. data/lib/plainrouter/openapi/models/action_read_item_proposer.rb +198 -0
  71. data/lib/plainrouter/openapi/models/action_receipt_unavailable.rb +164 -0
  72. data/lib/plainrouter/openapi/models/action_receipt_unavailable_error.rb +214 -0
  73. data/lib/plainrouter/openapi/models/action_rule_detail_read.rb +164 -0
  74. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule.rb +402 -0
  75. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_current_revision.rb +388 -0
  76. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_runs_inner.rb +396 -0
  77. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_runs_inner_decisions_inner.rb +382 -0
  78. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_window.rb +242 -0
  79. data/lib/plainrouter/openapi/models/action_rule_write_read.rb +164 -0
  80. data/lib/plainrouter/openapi/models/action_rule_write_read_rule.rb +373 -0
  81. data/lib/plainrouter/openapi/models/actions_api_decision_receipt404_response.rb +103 -0
  82. data/lib/plainrouter/openapi/models/actions_api_dry_run401_response.rb +103 -0
  83. data/lib/plainrouter/openapi/models/actions_rules_index200_response.rb +164 -0
  84. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules.rb +196 -0
  85. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner.rb +344 -0
  86. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner_account.rb +157 -0
  87. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner_counts.rb +156 -0
  88. data/lib/plainrouter/openapi/models/actions_rules_index403_response.rb +103 -0
  89. data/lib/plainrouter/openapi/models/actions_rules_index403_response_any_of.rb +214 -0
  90. data/lib/plainrouter/openapi/models/actions_rules_store_request.rb +317 -0
  91. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition.rb +105 -0
  92. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of.rb +317 -0
  93. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of1.rb +361 -0
  94. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of2.rb +361 -0
  95. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of_cost_ratio.rb +104 -0
  96. data/lib/plainrouter/openapi/models/actions_rules_store_request_window.rb +103 -0
  97. data/lib/plainrouter/openapi/models/actions_rules_update_request.rb +267 -0
  98. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition.rb +105 -0
  99. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of.rb +317 -0
  100. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of1.rb +361 -0
  101. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of2.rb +361 -0
  102. data/lib/plainrouter/openapi/models/actions_tests_api_index404_response.rb +103 -0
  103. data/lib/plainrouter/openapi/models/actions_tests_api_store_request.rb +467 -0
  104. data/lib/plainrouter/openapi/models/actions_tests_api_store_request_maximum_spend_minor.rb +104 -0
  105. data/lib/plainrouter/openapi/models/ad_test.rb +552 -0
  106. data/lib/plainrouter/openapi/models/ad_test_create_read.rb +164 -0
  107. data/lib/plainrouter/openapi/models/ad_test_create_read_test.rb +675 -0
  108. data/lib/plainrouter/openapi/models/ad_test_create_read_test_members_inner.rb +232 -0
  109. data/lib/plainrouter/openapi/models/ad_test_create_read_test_pause_proposals_inner.rb +286 -0
  110. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict.rb +336 -0
  111. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_daily_facts_inner.rb +374 -0
  112. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details.rb +285 -0
  113. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_baseline.rb +190 -0
  114. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_halt_details_observed_destinations_inner.rb +216 -0
  115. data/lib/plainrouter/openapi/models/ad_test_create_read_test_verdict_members_inner.rb +349 -0
  116. data/lib/plainrouter/openapi/models/ad_test_daily_fact_read.rb +374 -0
  117. data/lib/plainrouter/openapi/models/ad_test_event_choice.rb +190 -0
  118. data/lib/plainrouter/openapi/models/ad_test_list_read.rb +218 -0
  119. data/lib/plainrouter/openapi/models/ad_test_list_read_observed_conversion_events_inner.rb +190 -0
  120. data/lib/plainrouter/openapi/models/ad_test_list_read_tests.rb +396 -0
  121. data/lib/plainrouter/openapi/models/ad_test_read.rb +675 -0
  122. data/lib/plainrouter/openapi/models/ad_test_show_read.rb +164 -0
  123. data/lib/plainrouter/openapi/models/ad_test_verdict_member_read.rb +349 -0
  124. data/lib/plainrouter/openapi/models/ad_test_verdict_read.rb +336 -0
  125. data/lib/plainrouter/openapi/models/agent_context200_response.rb +214 -0
  126. data/lib/plainrouter/openapi/models/agent_context200_response_agent.rb +268 -0
  127. data/lib/plainrouter/openapi/models/agent_context200_response_platform_ad_account.rb +292 -0
  128. data/lib/plainrouter/openapi/models/agent_context200_response_platform_ad_account_workspace.rb +190 -0
  129. data/lib/plainrouter/openapi/models/agent_context401_response.rb +103 -0
  130. data/lib/plainrouter/openapi/models/agent_context_auth_error.rb +190 -0
  131. data/lib/plainrouter/openapi/models/agent_credential_error.rb +214 -0
  132. data/lib/plainrouter/openapi/models/api_route_not_found.rb +216 -0
  133. data/lib/plainrouter/openapi/models/api_route_not_found_error.rb +240 -0
  134. data/lib/plainrouter/openapi/models/api_route_not_found_request.rb +190 -0
  135. data/lib/plainrouter/openapi/models/api_route_not_found_resources.rb +190 -0
  136. data/lib/plainrouter/openapi/models/cookie_declaration.rb +177 -0
  137. data/lib/plainrouter/openapi/models/cookie_declaration_categories.rb +268 -0
  138. data/lib/plainrouter/openapi/models/cookie_declaration_categories_necessary.rb +194 -0
  139. data/lib/plainrouter/openapi/models/cookie_declaration_item.rb +280 -0
  140. data/lib/plainrouter/openapi/models/create_event202_response_warnings_inner.rb +2 -2
  141. data/lib/plainrouter/openapi/models/create_event_request_any_of.rb +1 -1
  142. data/lib/plainrouter/openapi/models/create_event_request_any_of1.rb +1 -1
  143. data/lib/plainrouter/openapi/models/creative_intake_read.rb +164 -0
  144. data/lib/plainrouter/openapi/models/creative_intake_rejected.rb +164 -0
  145. data/lib/plainrouter/openapi/models/creative_intake_rejected_error.rb +190 -0
  146. data/lib/plainrouter/openapi/models/creative_intake_tags.rb +257 -0
  147. data/lib/plainrouter/openapi/models/creative_mcp_grant_operation.rb +44 -0
  148. data/lib/plainrouter/openapi/models/creative_mcp_preview.rb +283 -0
  149. data/lib/plainrouter/openapi/models/creative_mcp_refusal.rb +45 -0
  150. data/lib/plainrouter/openapi/models/creative_mcp_tool.rb +44 -0
  151. data/lib/plainrouter/openapi/models/delivery_status.rb +2 -1
  152. data/lib/plainrouter/openapi/models/deployment_plan_read.rb +306 -0
  153. data/lib/plainrouter/openapi/models/deployment_plan_read_copy.rb +266 -0
  154. data/lib/plainrouter/openapi/models/deployment_plan_read_creatives_inner.rb +320 -0
  155. data/lib/plainrouter/openapi/models/deployment_plan_read_creatives_inner_copy.rb +267 -0
  156. data/lib/plainrouter/openapi/models/destination.rb +73 -9
  157. data/lib/plainrouter/openapi/models/destination_config.rb +103 -0
  158. data/lib/plainrouter/openapi/models/destination_status.rb +2 -1
  159. data/lib/plainrouter/openapi/models/destination_type.rb +2 -1
  160. data/lib/plainrouter/openapi/models/draft_batch_mode.rb +41 -0
  161. data/lib/plainrouter/openapi/models/execute_deployment_plan_request.rb +200 -0
  162. data/lib/plainrouter/openapi/models/get_account_inventory200_response.rb +341 -0
  163. data/lib/plainrouter/openapi/models/get_account_inventory200_response_summary.rb +158 -0
  164. data/lib/plainrouter/openapi/models/get_account_inventory404_response.rb +188 -0
  165. data/lib/plainrouter/openapi/models/get_cookie_declaration404_response.rb +103 -0
  166. data/lib/plainrouter/openapi/models/get_event200_response_deliveries_inner.rb +25 -1
  167. data/lib/plainrouter/openapi/models/get_event200_response_event_deliveries_inner.rb +25 -1
  168. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response.rb +345 -0
  169. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_account.rb +264 -0
  170. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_changes_inner.rb +304 -0
  171. data/lib/plainrouter/openapi/models/{action_proposal_input_actions_inner_any_of11_params.rb → get_inventory_metrics200_response_effective_range.rb} +41 -24
  172. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_metrics_inner.rb +492 -0
  173. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner.rb +304 -0
  174. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_object_metrics_inner_meta.rb +268 -0
  175. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_pagination_value.rb +202 -0
  176. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_staleness.rb +200 -0
  177. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_sync.rb +186 -0
  178. data/lib/plainrouter/openapi/models/ingestion_warning_code.rb +2 -1
  179. data/lib/plainrouter/openapi/models/launch_creatives_index200_response.rb +164 -0
  180. data/lib/plainrouter/openapi/models/launch_creatives_index200_response_creatives.rb +196 -0
  181. data/lib/plainrouter/openapi/models/launch_creatives_index200_response_creatives_data_inner.rb +451 -0
  182. data/lib/plainrouter/openapi/models/launch_creatives_index200_response_creatives_data_inner_tags.rb +104 -0
  183. data/lib/plainrouter/openapi/models/launch_creatives_status200_response.rb +166 -0
  184. data/lib/plainrouter/openapi/models/launch_intent_read.rb +164 -0
  185. data/lib/plainrouter/openapi/models/launch_intent_read_intent.rb +330 -0
  186. data/lib/plainrouter/openapi/models/launch_intent_read_intent_actions_inner.rb +238 -0
  187. data/lib/plainrouter/openapi/models/launch_intent_status.rb +46 -0
  188. data/lib/plainrouter/openapi/models/launch_plans_copy403_response.rb +103 -0
  189. data/lib/plainrouter/openapi/models/launch_plans_copy404_response.rb +103 -0
  190. data/lib/plainrouter/openapi/models/launch_plans_copy422_response.rb +103 -0
  191. data/lib/plainrouter/openapi/models/launch_plans_execute422_response.rb +103 -0
  192. data/lib/plainrouter/openapi/models/launch_plans_index200_response.rb +164 -0
  193. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans.rb +347 -0
  194. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments.rb +104 -0
  195. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments_any_of.rb +190 -0
  196. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments_any_of1.rb +190 -0
  197. data/lib/plainrouter/openapi/models/launch_plans_show200_response.rb +164 -0
  198. data/lib/plainrouter/openapi/models/launch_plans_store201_response.rb +166 -0
  199. data/lib/plainrouter/openapi/models/launch_plans_validate422_response.rb +103 -0
  200. data/lib/plainrouter/openapi/models/launch_policies_index200_response.rb +164 -0
  201. data/lib/plainrouter/openapi/models/launch_policies_index200_response_policies.rb +453 -0
  202. data/lib/plainrouter/openapi/models/{list_events200_response_events_links_inner.rb → launch_policies_index200_response_policies_links_inner.rb} +3 -3
  203. data/lib/plainrouter/openapi/models/launch_policies_store201_response.rb +166 -0
  204. data/lib/plainrouter/openapi/models/launch_policy.rb +346 -0
  205. data/lib/plainrouter/openapi/models/launcher_file_import403_response.rb +216 -0
  206. data/lib/plainrouter/openapi/models/launcher_file_import422_response.rb +103 -0
  207. data/lib/plainrouter/openapi/models/launcher_file_import422_response_any_of.rb +242 -0
  208. data/lib/plainrouter/openapi/models/launcher_file_import422_response_any_of_syntactic_row_failures_inner.rb +190 -0
  209. data/lib/plainrouter/openapi/models/list_events200_response_events.rb +1 -1
  210. data/lib/plainrouter/openapi/models/plan_copy_forbidden.rb +164 -0
  211. data/lib/plainrouter/openapi/models/plan_copy_forbidden_error.rb +214 -0
  212. data/lib/plainrouter/openapi/models/plan_copy_not_found.rb +164 -0
  213. data/lib/plainrouter/openapi/models/plan_copy_not_found_error.rb +214 -0
  214. data/lib/plainrouter/openapi/models/plan_copy_read.rb +164 -0
  215. data/lib/plainrouter/openapi/models/plan_copy_read_plan.rb +347 -0
  216. data/lib/plainrouter/openapi/models/plan_copy_rejected.rb +164 -0
  217. data/lib/plainrouter/openapi/models/plan_copy_rejected_error.rb +214 -0
  218. data/lib/plainrouter/openapi/models/plan_execute_conflict.rb +164 -0
  219. data/lib/plainrouter/openapi/models/plan_execute_conflict_error.rb +214 -0
  220. data/lib/plainrouter/openapi/models/plan_execute_rejected.rb +164 -0
  221. data/lib/plainrouter/openapi/models/plan_execute_rejected_error.rb +214 -0
  222. data/lib/plainrouter/openapi/models/plan_validate_rejected.rb +164 -0
  223. data/lib/plainrouter/openapi/models/plan_validate_rejected_error.rb +191 -0
  224. data/lib/plainrouter/openapi/models/proposal_replay_conflict.rb +214 -0
  225. data/lib/plainrouter/openapi/models/proposal_replay_conflict_errors.rb +178 -0
  226. data/lib/plainrouter/openapi/models/proposal_unavailable.rb +164 -0
  227. data/lib/plainrouter/openapi/models/proposal_unavailable_error.rb +214 -0
  228. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response_destination.rb +67 -1
  229. data/lib/plainrouter/openapi/models/store_creative403_response.rb +103 -0
  230. data/lib/plainrouter/openapi/models/store_creative413_response.rb +103 -0
  231. data/lib/plainrouter/openapi/models/store_creative422_response.rb +103 -0
  232. data/lib/plainrouter/openapi/models/store_creative_from_url_request.rb +208 -0
  233. data/lib/plainrouter/openapi/models/store_creative_from_url_request_tags.rb +257 -0
  234. data/lib/plainrouter/openapi/models/store_creative_request.rb +219 -0
  235. data/lib/plainrouter/openapi/models/store_creative_request_tags.rb +257 -0
  236. data/lib/plainrouter/openapi/models/store_deployment_plan_request.rb +570 -0
  237. data/lib/plainrouter/openapi/models/store_deployment_plan_request_ad_set_spec.rb +220 -0
  238. data/lib/plainrouter/openapi/models/store_deployment_plan_request_copy.rb +266 -0
  239. data/lib/plainrouter/openapi/models/store_deployment_plan_request_creative_overrides_inner.rb +217 -0
  240. data/lib/plainrouter/openapi/models/store_launch_policy_request.rb +260 -0
  241. data/lib/plainrouter/openapi/models/update_creative_status_request.rb +188 -0
  242. data/lib/plainrouter/openapi/models/update_deployment_plan_request.rb +511 -0
  243. data/lib/plainrouter/openapi/models/workspace_lock_timeout.rb +164 -0
  244. data/lib/plainrouter/openapi/models/workspace_lock_timeout_error.rb +214 -0
  245. data/lib/plainrouter/openapi/version.rb +1 -1
  246. data/lib/plainrouter/openapi.rb +190 -2
  247. data/lib/plainrouter/proposal_errors.rb +31 -0
  248. data/lib/plainrouter/version.rb +1 -1
  249. data/lib/plainrouter.rb +1 -0
  250. metadata +196 -4
@@ -20,11 +20,13 @@ module PlainRouter::OpenAPI
20
20
  @api_client = api_client
21
21
  end
22
22
  # Get action batch
23
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
23
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
24
24
  # @param workspace [Integer] The workspace ID
25
25
  # @param action_batch [String]
26
26
  # @param [Hash] opts the optional parameters
27
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
27
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
28
+ # @option opts [Integer] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
29
+ # @option opts [Integer] :limit Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
28
30
  # @return [ActionBatchRead]
29
31
  def actions_api_batch(workspace, action_batch, opts = {})
30
32
  data, _status_code, _headers = actions_api_batch_with_http_info(workspace, action_batch, opts)
@@ -32,11 +34,13 @@ module PlainRouter::OpenAPI
32
34
  end
33
35
 
34
36
  # Get action batch
35
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
37
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
36
38
  # @param workspace [Integer] The workspace ID
37
39
  # @param action_batch [String]
38
40
  # @param [Hash] opts the optional parameters
39
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
41
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
42
+ # @option opts [Integer] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
43
+ # @option opts [Integer] :limit Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
40
44
  # @return [Array<(ActionBatchRead, Integer, Hash)>] ActionBatchRead data, response status code and response headers
41
45
  def actions_api_batch_with_http_info(workspace, action_batch, opts = {})
42
46
  if @api_client.config.debugging
@@ -50,16 +54,30 @@ module PlainRouter::OpenAPI
50
54
  if @api_client.config.client_side_validation && action_batch.nil?
51
55
  fail ArgumentError, "Missing the required parameter 'action_batch' when calling ActionReadApiApi.actions_api_batch"
52
56
  end
53
- if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && opts[:'account_id'] < 1
57
+ if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && !opts[:'account_id'].is_a?(String) && opts[:'account_id'] < 1
54
58
  fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling ActionReadApiApi.actions_api_batch, must be greater than or equal to 1.'
55
59
  end
56
60
 
61
+ if @api_client.config.client_side_validation && !opts[:'cursor'].nil? && !opts[:'cursor'].is_a?(String) && opts[:'cursor'] < 0
62
+ fail ArgumentError, 'invalid value for "opts[:"cursor"]" when calling ActionReadApiApi.actions_api_batch, must be greater than or equal to 0.'
63
+ end
64
+
65
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && !opts[:'limit'].is_a?(String) && opts[:'limit'] > 100
66
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ActionReadApiApi.actions_api_batch, must be smaller than or equal to 100.'
67
+ end
68
+
69
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && !opts[:'limit'].is_a?(String) && opts[:'limit'] < 1
70
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ActionReadApiApi.actions_api_batch, must be greater than or equal to 1.'
71
+ end
72
+
57
73
  # resource path
58
74
  local_var_path = '/agent/workspaces/{workspace}/action-batches/{actionBatch}'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{actionBatch}', CGI.escape(action_batch.to_s))
59
75
 
60
76
  # query parameters
61
77
  query_params = opts[:query_params] || {}
62
78
  query_params[:'account_id'] = opts[:'account_id'] if !opts[:'account_id'].nil?
79
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
80
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
63
81
 
64
82
  # header parameters
65
83
  header_params = opts[:header_params] || {}
@@ -96,11 +114,11 @@ module PlainRouter::OpenAPI
96
114
  end
97
115
 
98
116
  # Get decision receipt
99
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
117
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
100
118
  # @param workspace [Integer] The workspace ID
101
119
  # @param action [String]
102
120
  # @param [Hash] opts the optional parameters
103
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
121
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
104
122
  # @return [ActionDecisionReceiptRead]
105
123
  def actions_api_decision_receipt(workspace, action, opts = {})
106
124
  data, _status_code, _headers = actions_api_decision_receipt_with_http_info(workspace, action, opts)
@@ -108,11 +126,11 @@ module PlainRouter::OpenAPI
108
126
  end
109
127
 
110
128
  # Get decision receipt
111
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
129
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
112
130
  # @param workspace [Integer] The workspace ID
113
131
  # @param action [String]
114
132
  # @param [Hash] opts the optional parameters
115
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
133
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
116
134
  # @return [Array<(ActionDecisionReceiptRead, Integer, Hash)>] ActionDecisionReceiptRead data, response status code and response headers
117
135
  def actions_api_decision_receipt_with_http_info(workspace, action, opts = {})
118
136
  if @api_client.config.debugging
@@ -126,7 +144,7 @@ module PlainRouter::OpenAPI
126
144
  if @api_client.config.client_side_validation && action.nil?
127
145
  fail ArgumentError, "Missing the required parameter 'action' when calling ActionReadApiApi.actions_api_decision_receipt"
128
146
  end
129
- if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && opts[:'account_id'] < 1
147
+ if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && !opts[:'account_id'].is_a?(String) && opts[:'account_id'] < 1
130
148
  fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling ActionReadApiApi.actions_api_decision_receipt, must be greater than or equal to 1.'
131
149
  end
132
150
 
@@ -172,12 +190,14 @@ module PlainRouter::OpenAPI
172
190
  end
173
191
 
174
192
  # List actions
175
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
193
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
176
194
  # @param workspace [Integer] The workspace ID
177
195
  # @param [Hash] opts the optional parameters
178
196
  # @option opts [String] :status
179
- # @option opts [Integer] :page
180
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
197
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
198
+ # @option opts [Integer] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
199
+ # @option opts [Integer] :limit Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
200
+ # @option opts [Integer] :page Integer page from 1 through 10000000000000000; integer strings are accepted. Zero, negatives, fractions, non-numeric strings and booleans return 422 with a page field validation error.
181
201
  # @return [ActionListRead]
182
202
  def actions_api_index(workspace, opts = {})
183
203
  data, _status_code, _headers = actions_api_index_with_http_info(workspace, opts)
@@ -185,12 +205,14 @@ module PlainRouter::OpenAPI
185
205
  end
186
206
 
187
207
  # List actions
188
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
208
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
189
209
  # @param workspace [Integer] The workspace ID
190
210
  # @param [Hash] opts the optional parameters
191
211
  # @option opts [String] :status
192
- # @option opts [Integer] :page
193
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
212
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
213
+ # @option opts [Integer] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
214
+ # @option opts [Integer] :limit Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
215
+ # @option opts [Integer] :page Integer page from 1 through 10000000000000000; integer strings are accepted. Zero, negatives, fractions, non-numeric strings and booleans return 422 with a page field validation error.
194
216
  # @return [Array<(ActionListRead, Integer, Hash)>] ActionListRead data, response status code and response headers
195
217
  def actions_api_index_with_http_info(workspace, opts = {})
196
218
  if @api_client.config.debugging
@@ -204,12 +226,28 @@ module PlainRouter::OpenAPI
204
226
  if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
205
227
  fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
206
228
  end
207
- if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
208
- fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ActionReadApiApi.actions_api_index, must be greater than or equal to 1.'
229
+ if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && !opts[:'account_id'].is_a?(String) && opts[:'account_id'] < 1
230
+ fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling ActionReadApiApi.actions_api_index, must be greater than or equal to 1.'
209
231
  end
210
232
 
211
- if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && opts[:'account_id'] < 1
212
- fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling ActionReadApiApi.actions_api_index, must be greater than or equal to 1.'
233
+ if @api_client.config.client_side_validation && !opts[:'cursor'].nil? && !opts[:'cursor'].is_a?(String) && opts[:'cursor'] < 0
234
+ fail ArgumentError, 'invalid value for "opts[:"cursor"]" when calling ActionReadApiApi.actions_api_index, must be greater than or equal to 0.'
235
+ end
236
+
237
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && !opts[:'limit'].is_a?(String) && opts[:'limit'] > 100
238
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ActionReadApiApi.actions_api_index, must be smaller than or equal to 100.'
239
+ end
240
+
241
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && !opts[:'limit'].is_a?(String) && opts[:'limit'] < 1
242
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ActionReadApiApi.actions_api_index, must be greater than or equal to 1.'
243
+ end
244
+
245
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] > 10000000000000000
246
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ActionReadApiApi.actions_api_index, must be smaller than or equal to 10000000000000000.'
247
+ end
248
+
249
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] < 1
250
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ActionReadApiApi.actions_api_index, must be greater than or equal to 1.'
213
251
  end
214
252
 
215
253
  # resource path
@@ -218,8 +256,10 @@ module PlainRouter::OpenAPI
218
256
  # query parameters
219
257
  query_params = opts[:query_params] || {}
220
258
  query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
221
- query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
222
259
  query_params[:'account_id'] = opts[:'account_id'] if !opts[:'account_id'].nil?
260
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
261
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
262
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
223
263
 
224
264
  # header parameters
225
265
  header_params = opts[:header_params] || {}
@@ -256,10 +296,10 @@ module PlainRouter::OpenAPI
256
296
  end
257
297
 
258
298
  # Get action policy
259
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
299
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
260
300
  # @param workspace [Integer] The workspace ID
261
301
  # @param [Hash] opts the optional parameters
262
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
302
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
263
303
  # @return [ActionPolicyRead]
264
304
  def actions_api_policy(workspace, opts = {})
265
305
  data, _status_code, _headers = actions_api_policy_with_http_info(workspace, opts)
@@ -267,10 +307,10 @@ module PlainRouter::OpenAPI
267
307
  end
268
308
 
269
309
  # Get action policy
270
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
310
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
271
311
  # @param workspace [Integer] The workspace ID
272
312
  # @param [Hash] opts the optional parameters
273
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
313
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
274
314
  # @return [Array<(ActionPolicyRead, Integer, Hash)>] ActionPolicyRead data, response status code and response headers
275
315
  def actions_api_policy_with_http_info(workspace, opts = {})
276
316
  if @api_client.config.debugging
@@ -280,7 +320,7 @@ module PlainRouter::OpenAPI
280
320
  if @api_client.config.client_side_validation && workspace.nil?
281
321
  fail ArgumentError, "Missing the required parameter 'workspace' when calling ActionReadApiApi.actions_api_policy"
282
322
  end
283
- if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && opts[:'account_id'] < 1
323
+ if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && !opts[:'account_id'].is_a?(String) && opts[:'account_id'] < 1
284
324
  fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling ActionReadApiApi.actions_api_policy, must be greater than or equal to 1.'
285
325
  end
286
326
 
@@ -326,11 +366,11 @@ module PlainRouter::OpenAPI
326
366
  end
327
367
 
328
368
  # Get action
329
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
369
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
330
370
  # @param workspace [Integer] The workspace ID
331
371
  # @param action [String]
332
372
  # @param [Hash] opts the optional parameters
333
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
373
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
334
374
  # @return [ActionDetailRead]
335
375
  def actions_api_show(workspace, action, opts = {})
336
376
  data, _status_code, _headers = actions_api_show_with_http_info(workspace, action, opts)
@@ -338,11 +378,11 @@ module PlainRouter::OpenAPI
338
378
  end
339
379
 
340
380
  # Get action
341
- # Read persisted Actions data for an account available to this workspace key. An unbound key selects account_id; a bound key stays limited to its own account.
381
+ # Read persisted Actions data for the authorized account. Unbound keys require exactly one active account; account_id cannot select among multiple accounts.
342
382
  # @param workspace [Integer] The workspace ID
343
383
  # @param action [String]
344
384
  # @param [Hash] opts the optional parameters
345
- # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; any other value returns 422. An unbound key may name only an active account with an active connection in its workspace, and must name one when the workspace has more than one.
385
+ # @option opts [Integer] :account_id Optional positive account ID. A bound key may name only its own account; a different ID returns 422. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
346
386
  # @return [Array<(ActionDetailRead, Integer, Hash)>] ActionDetailRead data, response status code and response headers
347
387
  def actions_api_show_with_http_info(workspace, action, opts = {})
348
388
  if @api_client.config.debugging
@@ -356,7 +396,7 @@ module PlainRouter::OpenAPI
356
396
  if @api_client.config.client_side_validation && action.nil?
357
397
  fail ArgumentError, "Missing the required parameter 'action' when calling ActionReadApiApi.actions_api_show"
358
398
  end
359
- if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && opts[:'account_id'] < 1
399
+ if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && !opts[:'account_id'].is_a?(String) && opts[:'account_id'] < 1
360
400
  fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling ActionReadApiApi.actions_api_show, must be greater than or equal to 1.'
361
401
  end
362
402
 
@@ -0,0 +1,350 @@
1
+ =begin
2
+ #Plainrouter Conversion API
3
+
4
+ #Plainrouter public Signals Conversion API.
5
+
6
+ The version of the OpenAPI document: 0.5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module PlainRouter::OpenAPI
16
+ class ActionRuleApiApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # List rule summaries
23
+ # Read rule summaries, current revision and last-run status without histories or decisions. Continue with cursor; use actions.rules.show for detail.
24
+ # @param workspace [Integer] The workspace ID
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [Integer] :account_id Optional integer account ID. JSON booleans return 422 with message plus field errors. A valid supplied ID is ignored by an account-bound key. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
27
+ # @option opts [Integer] :platform_ad_account_id Optional integer account ID. JSON booleans return 422 with message plus field errors. A valid supplied ID is ignored by an account-bound key. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied. Alias of account_id; account_id takes precedence when both are supplied.
28
+ # @option opts [String] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
29
+ # @option opts [Integer] :per_page Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
30
+ # @option opts [Integer] :page Integer page from 1 through 10000000000000000; integer strings are accepted. Zero, negatives, fractions, non-numeric strings and booleans return 422 with a page field validation error.
31
+ # @return [ActionsRulesIndex200Response]
32
+ def actions_rules_index(workspace, opts = {})
33
+ data, _status_code, _headers = actions_rules_index_with_http_info(workspace, opts)
34
+ data
35
+ end
36
+
37
+ # List rule summaries
38
+ # Read rule summaries, current revision and last-run status without histories or decisions. Continue with cursor; use actions.rules.show for detail.
39
+ # @param workspace [Integer] The workspace ID
40
+ # @param [Hash] opts the optional parameters
41
+ # @option opts [Integer] :account_id Optional integer account ID. JSON booleans return 422 with message plus field errors. A valid supplied ID is ignored by an account-bound key. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
42
+ # @option opts [Integer] :platform_ad_account_id Optional integer account ID. JSON booleans return 422 with message plus field errors. A valid supplied ID is ignored by an account-bound key. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied. Alias of account_id; account_id takes precedence when both are supplied.
43
+ # @option opts [String] :cursor Continue using next_cursor with the same filters; rule lists use an immutable rule ID, other lists an offset or object ID.
44
+ # @option opts [Integer] :per_page Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
45
+ # @option opts [Integer] :page Integer page from 1 through 10000000000000000; integer strings are accepted. Zero, negatives, fractions, non-numeric strings and booleans return 422 with a page field validation error.
46
+ # @return [Array<(ActionsRulesIndex200Response, Integer, Hash)>] ActionsRulesIndex200Response data, response status code and response headers
47
+ def actions_rules_index_with_http_info(workspace, opts = {})
48
+ if @api_client.config.debugging
49
+ @api_client.config.logger.debug 'Calling API: ActionRuleApiApi.actions_rules_index ...'
50
+ end
51
+ # verify the required parameter 'workspace' is set
52
+ if @api_client.config.client_side_validation && workspace.nil?
53
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling ActionRuleApiApi.actions_rules_index"
54
+ end
55
+ if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && !opts[:'account_id'].is_a?(String) && opts[:'account_id'] < 1
56
+ fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling ActionRuleApiApi.actions_rules_index, must be greater than or equal to 1.'
57
+ end
58
+
59
+ if @api_client.config.client_side_validation && !opts[:'platform_ad_account_id'].nil? && !opts[:'platform_ad_account_id'].is_a?(String) && opts[:'platform_ad_account_id'] < 1
60
+ fail ArgumentError, 'invalid value for "opts[:"platform_ad_account_id"]" when calling ActionRuleApiApi.actions_rules_index, must be greater than or equal to 1.'
61
+ end
62
+
63
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && !opts[:'per_page'].is_a?(String) && opts[:'per_page'] > 100
64
+ fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling ActionRuleApiApi.actions_rules_index, must be smaller than or equal to 100.'
65
+ end
66
+
67
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && !opts[:'per_page'].is_a?(String) && opts[:'per_page'] < 1
68
+ fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling ActionRuleApiApi.actions_rules_index, must be greater than or equal to 1.'
69
+ end
70
+
71
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] > 10000000000000000
72
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ActionRuleApiApi.actions_rules_index, must be smaller than or equal to 10000000000000000.'
73
+ end
74
+
75
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] < 1
76
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ActionRuleApiApi.actions_rules_index, must be greater than or equal to 1.'
77
+ end
78
+
79
+ # resource path
80
+ local_var_path = '/agent/workspaces/{workspace}/action-rules'.sub('{workspace}', CGI.escape(workspace.to_s))
81
+
82
+ # query parameters
83
+ query_params = opts[:query_params] || {}
84
+ query_params[:'account_id'] = opts[:'account_id'] if !opts[:'account_id'].nil?
85
+ query_params[:'platform_ad_account_id'] = opts[:'platform_ad_account_id'] if !opts[:'platform_ad_account_id'].nil?
86
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
87
+ query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
88
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
89
+
90
+ # header parameters
91
+ header_params = opts[:header_params] || {}
92
+ # HTTP header 'Accept' (if needed)
93
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
94
+
95
+ # form parameters
96
+ form_params = opts[:form_params] || {}
97
+
98
+ # http body (model)
99
+ post_body = opts[:debug_body]
100
+
101
+ # return_type
102
+ return_type = opts[:debug_return_type] || 'ActionsRulesIndex200Response'
103
+
104
+ # auth_names
105
+ auth_names = opts[:debug_auth_names] || ['ruleReader']
106
+
107
+ new_options = opts.merge(
108
+ :operation => :"ActionRuleApiApi.actions_rules_index",
109
+ :header_params => header_params,
110
+ :query_params => query_params,
111
+ :form_params => form_params,
112
+ :body => post_body,
113
+ :auth_names => auth_names,
114
+ :return_type => return_type
115
+ )
116
+
117
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
118
+ if @api_client.config.debugging
119
+ @api_client.config.logger.debug "API called: ActionRuleApiApi#actions_rules_index\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
120
+ end
121
+ return data, status_code, headers
122
+ end
123
+
124
+ # Get an action rule
125
+ # Read the account-scoped rule, immutable revisions and recent run decisions. Send Accept: application/json for the documented JSON errors.
126
+ # @param workspace [Integer] The workspace ID
127
+ # @param action_rule [String]
128
+ # @param [Hash] opts the optional parameters
129
+ # @option opts [Integer] :account_id Optional integer account ID. JSON booleans return 422 with message plus field errors. A valid supplied ID is ignored by an account-bound key. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
130
+ # @return [ActionRuleDetailRead]
131
+ def actions_rules_show(workspace, action_rule, opts = {})
132
+ data, _status_code, _headers = actions_rules_show_with_http_info(workspace, action_rule, opts)
133
+ data
134
+ end
135
+
136
+ # Get an action rule
137
+ # Read the account-scoped rule, immutable revisions and recent run decisions. Send Accept: application/json for the documented JSON errors.
138
+ # @param workspace [Integer] The workspace ID
139
+ # @param action_rule [String]
140
+ # @param [Hash] opts the optional parameters
141
+ # @option opts [Integer] :account_id Optional integer account ID. JSON booleans return 422 with message plus field errors. A valid supplied ID is ignored by an account-bound key. An unbound key requires exactly one active available advertising account with an active connection; omission uses that account and a supplied ID must match it. Multiple active accounts return 422 even when account_id is supplied.
142
+ # @return [Array<(ActionRuleDetailRead, Integer, Hash)>] ActionRuleDetailRead data, response status code and response headers
143
+ def actions_rules_show_with_http_info(workspace, action_rule, opts = {})
144
+ if @api_client.config.debugging
145
+ @api_client.config.logger.debug 'Calling API: ActionRuleApiApi.actions_rules_show ...'
146
+ end
147
+ # verify the required parameter 'workspace' is set
148
+ if @api_client.config.client_side_validation && workspace.nil?
149
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling ActionRuleApiApi.actions_rules_show"
150
+ end
151
+ # verify the required parameter 'action_rule' is set
152
+ if @api_client.config.client_side_validation && action_rule.nil?
153
+ fail ArgumentError, "Missing the required parameter 'action_rule' when calling ActionRuleApiApi.actions_rules_show"
154
+ end
155
+ if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && !opts[:'account_id'].is_a?(String) && opts[:'account_id'] < 1
156
+ fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling ActionRuleApiApi.actions_rules_show, must be greater than or equal to 1.'
157
+ end
158
+
159
+ # resource path
160
+ local_var_path = '/agent/workspaces/{workspace}/action-rules/{action_rule}'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{action_rule}', CGI.escape(action_rule.to_s))
161
+
162
+ # query parameters
163
+ query_params = opts[:query_params] || {}
164
+ query_params[:'account_id'] = opts[:'account_id'] if !opts[:'account_id'].nil?
165
+
166
+ # header parameters
167
+ header_params = opts[:header_params] || {}
168
+ # HTTP header 'Accept' (if needed)
169
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
170
+
171
+ # form parameters
172
+ form_params = opts[:form_params] || {}
173
+
174
+ # http body (model)
175
+ post_body = opts[:debug_body]
176
+
177
+ # return_type
178
+ return_type = opts[:debug_return_type] || 'ActionRuleDetailRead'
179
+
180
+ # auth_names
181
+ auth_names = opts[:debug_auth_names] || ['ruleReader']
182
+
183
+ new_options = opts.merge(
184
+ :operation => :"ActionRuleApiApi.actions_rules_show",
185
+ :header_params => header_params,
186
+ :query_params => query_params,
187
+ :form_params => form_params,
188
+ :body => post_body,
189
+ :auth_names => auth_names,
190
+ :return_type => return_type
191
+ )
192
+
193
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
194
+ if @api_client.config.debugging
195
+ @api_client.config.logger.debug "API called: ActionRuleApiApi#actions_rules_show\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
196
+ end
197
+ return data, status_code, headers
198
+ end
199
+
200
+ # Create an action rule
201
+ # Write an account-scoped rule using its validated definition. Send Accept: application/json for JSON errors. New rules start disabled.
202
+ # @param workspace [Integer] The workspace ID
203
+ # @param actions_rules_store_request [ActionsRulesStoreRequest]
204
+ # @param [Hash] opts the optional parameters
205
+ # @return [ActionRuleWriteRead]
206
+ def actions_rules_store(workspace, actions_rules_store_request, opts = {})
207
+ data, _status_code, _headers = actions_rules_store_with_http_info(workspace, actions_rules_store_request, opts)
208
+ data
209
+ end
210
+
211
+ # Create an action rule
212
+ # Write an account-scoped rule using its validated definition. Send Accept: application/json for JSON errors. New rules start disabled.
213
+ # @param workspace [Integer] The workspace ID
214
+ # @param actions_rules_store_request [ActionsRulesStoreRequest]
215
+ # @param [Hash] opts the optional parameters
216
+ # @return [Array<(ActionRuleWriteRead, Integer, Hash)>] ActionRuleWriteRead data, response status code and response headers
217
+ def actions_rules_store_with_http_info(workspace, actions_rules_store_request, opts = {})
218
+ if @api_client.config.debugging
219
+ @api_client.config.logger.debug 'Calling API: ActionRuleApiApi.actions_rules_store ...'
220
+ end
221
+ # verify the required parameter 'workspace' is set
222
+ if @api_client.config.client_side_validation && workspace.nil?
223
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling ActionRuleApiApi.actions_rules_store"
224
+ end
225
+ # verify the required parameter 'actions_rules_store_request' is set
226
+ if @api_client.config.client_side_validation && actions_rules_store_request.nil?
227
+ fail ArgumentError, "Missing the required parameter 'actions_rules_store_request' when calling ActionRuleApiApi.actions_rules_store"
228
+ end
229
+ # resource path
230
+ local_var_path = '/agent/workspaces/{workspace}/action-rules'.sub('{workspace}', CGI.escape(workspace.to_s))
231
+
232
+ # query parameters
233
+ query_params = opts[:query_params] || {}
234
+
235
+ # header parameters
236
+ header_params = opts[:header_params] || {}
237
+ # HTTP header 'Accept' (if needed)
238
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
239
+ # HTTP header 'Content-Type'
240
+ content_type = @api_client.select_header_content_type(['application/json'])
241
+ if !content_type.nil?
242
+ header_params['Content-Type'] = content_type
243
+ end
244
+
245
+ # form parameters
246
+ form_params = opts[:form_params] || {}
247
+
248
+ # http body (model)
249
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(actions_rules_store_request)
250
+
251
+ # return_type
252
+ return_type = opts[:debug_return_type] || 'ActionRuleWriteRead'
253
+
254
+ # auth_names
255
+ auth_names = opts[:debug_auth_names] || ['ruleWriter']
256
+
257
+ new_options = opts.merge(
258
+ :operation => :"ActionRuleApiApi.actions_rules_store",
259
+ :header_params => header_params,
260
+ :query_params => query_params,
261
+ :form_params => form_params,
262
+ :body => post_body,
263
+ :auth_names => auth_names,
264
+ :return_type => return_type
265
+ )
266
+
267
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
268
+ if @api_client.config.debugging
269
+ @api_client.config.logger.debug "API called: ActionRuleApiApi#actions_rules_store\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
270
+ end
271
+ return data, status_code, headers
272
+ end
273
+
274
+ # Update an action rule
275
+ # Write an account-scoped rule using its validated definition. Send Accept: application/json for JSON errors. New rules start disabled.
276
+ # @param workspace [Integer] The workspace ID
277
+ # @param action_rule [String]
278
+ # @param [Hash] opts the optional parameters
279
+ # @option opts [ActionsRulesUpdateRequest] :actions_rules_update_request
280
+ # @return [ActionRuleWriteRead]
281
+ def actions_rules_update(workspace, action_rule, opts = {})
282
+ data, _status_code, _headers = actions_rules_update_with_http_info(workspace, action_rule, opts)
283
+ data
284
+ end
285
+
286
+ # Update an action rule
287
+ # Write an account-scoped rule using its validated definition. Send Accept: application/json for JSON errors. New rules start disabled.
288
+ # @param workspace [Integer] The workspace ID
289
+ # @param action_rule [String]
290
+ # @param [Hash] opts the optional parameters
291
+ # @option opts [ActionsRulesUpdateRequest] :actions_rules_update_request
292
+ # @return [Array<(ActionRuleWriteRead, Integer, Hash)>] ActionRuleWriteRead data, response status code and response headers
293
+ def actions_rules_update_with_http_info(workspace, action_rule, opts = {})
294
+ if @api_client.config.debugging
295
+ @api_client.config.logger.debug 'Calling API: ActionRuleApiApi.actions_rules_update ...'
296
+ end
297
+ # verify the required parameter 'workspace' is set
298
+ if @api_client.config.client_side_validation && workspace.nil?
299
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling ActionRuleApiApi.actions_rules_update"
300
+ end
301
+ # verify the required parameter 'action_rule' is set
302
+ if @api_client.config.client_side_validation && action_rule.nil?
303
+ fail ArgumentError, "Missing the required parameter 'action_rule' when calling ActionRuleApiApi.actions_rules_update"
304
+ end
305
+ # resource path
306
+ local_var_path = '/agent/workspaces/{workspace}/action-rules/{action_rule}'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{action_rule}', CGI.escape(action_rule.to_s))
307
+
308
+ # query parameters
309
+ query_params = opts[:query_params] || {}
310
+
311
+ # header parameters
312
+ header_params = opts[:header_params] || {}
313
+ # HTTP header 'Accept' (if needed)
314
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
315
+ # HTTP header 'Content-Type'
316
+ content_type = @api_client.select_header_content_type(['application/json'])
317
+ if !content_type.nil?
318
+ header_params['Content-Type'] = content_type
319
+ end
320
+
321
+ # form parameters
322
+ form_params = opts[:form_params] || {}
323
+
324
+ # http body (model)
325
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'actions_rules_update_request'])
326
+
327
+ # return_type
328
+ return_type = opts[:debug_return_type] || 'ActionRuleWriteRead'
329
+
330
+ # auth_names
331
+ auth_names = opts[:debug_auth_names] || ['ruleWriter']
332
+
333
+ new_options = opts.merge(
334
+ :operation => :"ActionRuleApiApi.actions_rules_update",
335
+ :header_params => header_params,
336
+ :query_params => query_params,
337
+ :form_params => form_params,
338
+ :body => post_body,
339
+ :auth_names => auth_names,
340
+ :return_type => return_type
341
+ )
342
+
343
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
344
+ if @api_client.config.debugging
345
+ @api_client.config.logger.debug "API called: ActionRuleApiApi#actions_rules_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
346
+ end
347
+ return data, status_code, headers
348
+ end
349
+ end
350
+ end