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
@@ -0,0 +1,579 @@
1
+ {
2
+ "POST /agent/workspaces/{workspace}/actions/dry-run": {
3
+ "operationId": "actions.api.dry-run",
4
+ "body": [
5
+ [
6
+ "limit"
7
+ ],
8
+ [
9
+ "cursor"
10
+ ],
11
+ [
12
+ "actions",
13
+ "*",
14
+ "params",
15
+ "new_daily_budget_minor"
16
+ ],
17
+ [
18
+ "actions",
19
+ "*",
20
+ "params",
21
+ "size_bytes"
22
+ ],
23
+ [
24
+ "evidence",
25
+ "*",
26
+ "action_index"
27
+ ],
28
+ [
29
+ "account_id"
30
+ ],
31
+ [
32
+ "workspace_id"
33
+ ]
34
+ ],
35
+ "query": [],
36
+ "path": [
37
+ "workspace"
38
+ ]
39
+ },
40
+ "GET /agent/workspaces/{workspace}/actions": {
41
+ "operationId": "actions.api.index",
42
+ "body": [],
43
+ "query": [
44
+ "account_id",
45
+ "cursor",
46
+ "limit",
47
+ "page"
48
+ ],
49
+ "path": [
50
+ "workspace"
51
+ ]
52
+ },
53
+ "POST /agent/workspaces/{workspace}/actions": {
54
+ "operationId": "actions.api.propose",
55
+ "body": [
56
+ [
57
+ "limit"
58
+ ],
59
+ [
60
+ "cursor"
61
+ ],
62
+ [
63
+ "actions",
64
+ "*",
65
+ "params",
66
+ "new_daily_budget_minor"
67
+ ],
68
+ [
69
+ "actions",
70
+ "*",
71
+ "params",
72
+ "size_bytes"
73
+ ],
74
+ [
75
+ "evidence",
76
+ "*",
77
+ "action_index"
78
+ ],
79
+ [
80
+ "account_id"
81
+ ],
82
+ [
83
+ "workspace_id"
84
+ ]
85
+ ],
86
+ "query": [],
87
+ "path": [
88
+ "workspace"
89
+ ]
90
+ },
91
+ "GET /agent/workspaces/{workspace}/actions/policy": {
92
+ "operationId": "actions.api.policy",
93
+ "body": [],
94
+ "query": [
95
+ "account_id"
96
+ ],
97
+ "path": [
98
+ "workspace"
99
+ ]
100
+ },
101
+ "GET /agent/workspaces/{workspace}/actions/{action}/decision-receipt": {
102
+ "operationId": "actions.api.decision-receipt",
103
+ "body": [],
104
+ "query": [
105
+ "account_id"
106
+ ],
107
+ "path": [
108
+ "workspace"
109
+ ]
110
+ },
111
+ "GET /agent/workspaces/{workspace}/actions/{action}": {
112
+ "operationId": "actions.api.show",
113
+ "body": [],
114
+ "query": [
115
+ "account_id"
116
+ ],
117
+ "path": [
118
+ "workspace"
119
+ ]
120
+ },
121
+ "GET /agent/workspaces/{workspace}/action-batches/{actionBatch}": {
122
+ "operationId": "actions.api.batch",
123
+ "body": [],
124
+ "query": [
125
+ "account_id",
126
+ "cursor",
127
+ "limit"
128
+ ],
129
+ "path": [
130
+ "workspace"
131
+ ]
132
+ },
133
+ "GET /agent/workspaces/{workspace}/action-rules": {
134
+ "operationId": "actions.rules.index",
135
+ "body": [],
136
+ "query": [
137
+ "account_id",
138
+ "platform_ad_account_id",
139
+ "per_page",
140
+ "page"
141
+ ],
142
+ "path": [
143
+ "workspace"
144
+ ]
145
+ },
146
+ "POST /agent/workspaces/{workspace}/action-rules": {
147
+ "operationId": "actions.rules.store",
148
+ "body": [
149
+ [
150
+ "definition",
151
+ "minimum_counted_arrivals"
152
+ ],
153
+ [
154
+ "definition",
155
+ "budget_change_percent"
156
+ ],
157
+ [
158
+ "account_id"
159
+ ],
160
+ [
161
+ "platform_ad_account_id"
162
+ ]
163
+ ],
164
+ "query": [],
165
+ "path": [
166
+ "workspace"
167
+ ]
168
+ },
169
+ "GET /agent/workspaces/{workspace}/action-rules/{action_rule}": {
170
+ "operationId": "actions.rules.show",
171
+ "body": [],
172
+ "query": [
173
+ "account_id"
174
+ ],
175
+ "path": [
176
+ "workspace"
177
+ ]
178
+ },
179
+ "PATCH /agent/workspaces/{workspace}/action-rules/{action_rule}": {
180
+ "operationId": "actions.rules.update",
181
+ "body": [
182
+ [
183
+ "definition",
184
+ "minimum_counted_arrivals"
185
+ ],
186
+ [
187
+ "definition",
188
+ "budget_change_percent"
189
+ ],
190
+ [
191
+ "account_id"
192
+ ]
193
+ ],
194
+ "query": [],
195
+ "path": [
196
+ "workspace"
197
+ ]
198
+ },
199
+ "GET /agent/workspaces/{workspace}/tests": {
200
+ "operationId": "actions.tests.api.index",
201
+ "body": [],
202
+ "query": [
203
+ "per_page",
204
+ "page"
205
+ ],
206
+ "path": [
207
+ "workspace"
208
+ ]
209
+ },
210
+ "POST /agent/workspaces/{workspace}/tests": {
211
+ "operationId": "actions.tests.api.store",
212
+ "body": [
213
+ [
214
+ "platform_ad_account_id"
215
+ ],
216
+ [
217
+ "arrivals_floor"
218
+ ],
219
+ [
220
+ "minimum_conversions"
221
+ ],
222
+ [
223
+ "maximum_days"
224
+ ],
225
+ [
226
+ "maximum_spend_minor"
227
+ ]
228
+ ],
229
+ "query": [],
230
+ "path": [
231
+ "workspace"
232
+ ]
233
+ },
234
+ "GET /agent/workspaces/{workspace}/tests/{ad_test}": {
235
+ "operationId": "actions.tests.api.show",
236
+ "body": [],
237
+ "query": [],
238
+ "path": [
239
+ "workspace"
240
+ ]
241
+ },
242
+ "GET /agent/context": {
243
+ "operationId": "agent.context",
244
+ "body": [],
245
+ "query": [
246
+ "account_id",
247
+ "workspace_id"
248
+ ],
249
+ "path": []
250
+ },
251
+ "GET /cookie-declarations/{publishableKey}": {
252
+ "operationId": "getCookieDeclaration",
253
+ "body": [],
254
+ "query": [],
255
+ "path": []
256
+ },
257
+ "GET /workspaces/{workspace}/admin/creatives": {
258
+ "operationId": "launch.creatives.index",
259
+ "body": [],
260
+ "query": [
261
+ "cursor",
262
+ "per_page",
263
+ "page"
264
+ ],
265
+ "path": [
266
+ "workspace"
267
+ ]
268
+ },
269
+ "POST /workspaces/{workspace}/admin/creatives": {
270
+ "operationId": "storeCreative",
271
+ "body": [],
272
+ "query": [],
273
+ "path": [
274
+ "workspace"
275
+ ]
276
+ },
277
+ "POST /workspaces/{workspace}/admin/creatives/from-url": {
278
+ "operationId": "storeCreativeFromUrl",
279
+ "body": [],
280
+ "query": [],
281
+ "path": [
282
+ "workspace"
283
+ ]
284
+ },
285
+ "PATCH /workspaces/{workspace}/admin/creatives/{creative}/status": {
286
+ "operationId": "launch.creatives.status",
287
+ "body": [],
288
+ "query": [],
289
+ "path": [
290
+ "workspace"
291
+ ]
292
+ },
293
+ "GET /workspaces/{workspace}/admin/creatives/{creative}": {
294
+ "operationId": "launch.creatives.show",
295
+ "body": [],
296
+ "query": [],
297
+ "path": [
298
+ "workspace"
299
+ ]
300
+ },
301
+ "GET /workspaces/{workspace}/admin/plans": {
302
+ "operationId": "launch.plans.index",
303
+ "body": [],
304
+ "query": [
305
+ "cursor",
306
+ "per_page",
307
+ "page"
308
+ ],
309
+ "path": [
310
+ "workspace"
311
+ ]
312
+ },
313
+ "POST /workspaces/{workspace}/admin/plans": {
314
+ "operationId": "launch.plans.store",
315
+ "body": [
316
+ [
317
+ "platform_ad_account_id"
318
+ ],
319
+ [
320
+ "ad_set_spec",
321
+ "daily_budget"
322
+ ],
323
+ [
324
+ "ad_set_spec",
325
+ "bid_amount"
326
+ ],
327
+ [
328
+ "ad_set_spec",
329
+ "lifetime_budget"
330
+ ],
331
+ [
332
+ "budget_amount_minor"
333
+ ]
334
+ ],
335
+ "query": [],
336
+ "path": [
337
+ "workspace"
338
+ ]
339
+ },
340
+ "GET /workspaces/{workspace}/admin/plans/{deployment_plan}": {
341
+ "operationId": "launch.plans.show",
342
+ "body": [],
343
+ "query": [
344
+ "cursor",
345
+ "limit"
346
+ ],
347
+ "path": [
348
+ "workspace"
349
+ ]
350
+ },
351
+ "PATCH /workspaces/{workspace}/admin/plans/{deployment_plan}": {
352
+ "operationId": "launch.plans.update",
353
+ "body": [
354
+ [
355
+ "platform_ad_account_id"
356
+ ],
357
+ [
358
+ "ad_set_spec",
359
+ "daily_budget"
360
+ ],
361
+ [
362
+ "ad_set_spec",
363
+ "bid_amount"
364
+ ],
365
+ [
366
+ "ad_set_spec",
367
+ "lifetime_budget"
368
+ ],
369
+ [
370
+ "budget_amount_minor"
371
+ ]
372
+ ],
373
+ "query": [],
374
+ "path": [
375
+ "workspace"
376
+ ]
377
+ },
378
+ "POST /workspaces/{workspace}/admin/plans/{deployment_plan}/copy": {
379
+ "operationId": "launch.plans.copy",
380
+ "body": [],
381
+ "query": [],
382
+ "path": [
383
+ "workspace"
384
+ ]
385
+ },
386
+ "POST /workspaces/{workspace}/admin/plans/{deployment_plan}/validate": {
387
+ "operationId": "launch.plans.validate",
388
+ "body": [],
389
+ "query": [],
390
+ "path": [
391
+ "workspace"
392
+ ]
393
+ },
394
+ "POST /workspaces/{workspace}/admin/plans/{deployment_plan}/execute": {
395
+ "operationId": "launch.plans.execute",
396
+ "body": [],
397
+ "query": [],
398
+ "path": [
399
+ "workspace"
400
+ ]
401
+ },
402
+ "POST /mcp/launcher/import": {
403
+ "operationId": "launcher.file-import",
404
+ "body": [
405
+ [
406
+ "account_id"
407
+ ],
408
+ [
409
+ "workspace_id"
410
+ ]
411
+ ],
412
+ "query": [],
413
+ "path": []
414
+ },
415
+ "POST /events": {
416
+ "operationId": "createEvent",
417
+ "body": [
418
+ [
419
+ "event_time"
420
+ ],
421
+ [
422
+ "value_data",
423
+ "num_items"
424
+ ]
425
+ ],
426
+ "query": [],
427
+ "path": []
428
+ },
429
+ "POST /verification-events": {
430
+ "operationId": "verifySignalIngestion",
431
+ "body": [],
432
+ "query": [],
433
+ "path": []
434
+ },
435
+ "GET /events/{event}": {
436
+ "operationId": "getEvent",
437
+ "body": [],
438
+ "query": [],
439
+ "path": []
440
+ },
441
+ "GET /workspaces/{workspace}/admin/policies": {
442
+ "operationId": "launch.policies.index",
443
+ "body": [],
444
+ "query": [
445
+ "per_page",
446
+ "page"
447
+ ],
448
+ "path": [
449
+ "workspace"
450
+ ]
451
+ },
452
+ "POST /workspaces/{workspace}/admin/policies": {
453
+ "operationId": "launch.policies.store",
454
+ "body": [],
455
+ "query": [],
456
+ "path": [
457
+ "workspace"
458
+ ]
459
+ },
460
+ "POST /workspaces/{workspace}/admin/policies/{launch_policy}/retire": {
461
+ "operationId": "launch.policies.retire",
462
+ "body": [],
463
+ "query": [],
464
+ "path": [
465
+ "workspace"
466
+ ]
467
+ },
468
+ "GET /workspaces/{workspace}/admin/ad-accounts/{account_id}/inventory": {
469
+ "operationId": "get_account_inventory",
470
+ "body": [],
471
+ "query": [
472
+ "after_id",
473
+ "limit"
474
+ ],
475
+ "path": [
476
+ "workspace"
477
+ ]
478
+ },
479
+ "GET /workspaces/{workspace}/admin/ad-accounts/{account_id}/inventory/metrics": {
480
+ "operationId": "get_inventory_metrics",
481
+ "body": [],
482
+ "query": [
483
+ "limit"
484
+ ],
485
+ "path": [
486
+ "workspace"
487
+ ]
488
+ },
489
+ "GET /dashboard/events": {
490
+ "operationId": "listEvents",
491
+ "body": [],
492
+ "query": [
493
+ "per_page"
494
+ ],
495
+ "path": []
496
+ },
497
+ "GET /dashboard/events/cursor": {
498
+ "operationId": "listEventsByCursor",
499
+ "body": [],
500
+ "query": [
501
+ "per_page"
502
+ ],
503
+ "path": []
504
+ },
505
+ "PATCH /destinations/{destination}/test-mode": {
506
+ "operationId": "setDestinationTestMode",
507
+ "body": [],
508
+ "query": [],
509
+ "path": []
510
+ },
511
+ "POST /destinations/{destination}/test-purchase": {
512
+ "operationId": "sendTestPurchase",
513
+ "body": [],
514
+ "query": [],
515
+ "path": []
516
+ },
517
+ "POST /deliveries/replay": {
518
+ "operationId": "replayDeliveries",
519
+ "body": [
520
+ [
521
+ "delivery_ids",
522
+ "*"
523
+ ],
524
+ [
525
+ "limit"
526
+ ]
527
+ ],
528
+ "query": [],
529
+ "path": []
530
+ },
531
+ "GET /reports/reconciliation": {
532
+ "operationId": "getReconciliationReport",
533
+ "body": [],
534
+ "query": [],
535
+ "path": []
536
+ },
537
+ "GET /reports/emq": {
538
+ "operationId": "getEmqReport",
539
+ "body": [],
540
+ "query": [],
541
+ "path": []
542
+ },
543
+ "DELETE /user-data": {
544
+ "operationId": "deleteUserData",
545
+ "body": [],
546
+ "query": [],
547
+ "path": []
548
+ },
549
+ "GET /sandbox": {
550
+ "operationId": "getSandbox",
551
+ "body": [],
552
+ "query": [],
553
+ "path": []
554
+ },
555
+ "GET /sandbox/keys": {
556
+ "operationId": "getSandboxKey",
557
+ "body": [],
558
+ "query": [],
559
+ "path": []
560
+ },
561
+ "POST /sandbox/keys": {
562
+ "operationId": "createSandboxKey",
563
+ "body": [],
564
+ "query": [],
565
+ "path": []
566
+ },
567
+ "POST /sandbox/events": {
568
+ "operationId": "validateSandboxEvent",
569
+ "body": [],
570
+ "query": [],
571
+ "path": []
572
+ },
573
+ "POST /sandbox/keyed-events": {
574
+ "operationId": "validateSandboxEventWithKey",
575
+ "body": [],
576
+ "query": [],
577
+ "path": []
578
+ }
579
+ }
@@ -20,7 +20,7 @@ module PlainRouter::OpenAPI
20
20
  @api_client = api_client
21
21
  end
22
22
  # Preview actions
23
- # Evaluate a governed proposal for the approved account and preview each policy decision and execution diff without creating a batch or action.
23
+ # Preview policy decisions and execution diffs for the approved account without saving a proposal. A kill switch returns blocked policy decisions.
24
24
  # @param workspace [Integer] The workspace ID
25
25
  # @param action_proposal_input [ActionProposalInput]
26
26
  # @param [Hash] opts the optional parameters
@@ -31,7 +31,7 @@ module PlainRouter::OpenAPI
31
31
  end
32
32
 
33
33
  # Preview actions
34
- # Evaluate a governed proposal for the approved account and preview each policy decision and execution diff without creating a batch or action.
34
+ # Preview policy decisions and execution diffs for the approved account without saving a proposal. A kill switch returns blocked policy decisions.
35
35
  # @param workspace [Integer] The workspace ID
36
36
  # @param action_proposal_input [ActionProposalInput]
37
37
  # @param [Hash] opts the optional parameters
@@ -20,7 +20,7 @@ module PlainRouter::OpenAPI
20
20
  @api_client = api_client
21
21
  end
22
22
  # Propose actions
23
- # Submit a governed proposal for an advertising account available to this workspace key. A matching idempotency key returns the saved batch.
23
+ # Submit or replay a governed proposal for an account available to this key. A kill switch saves a blocked proposal without executing provider writes.
24
24
  # @param workspace [Integer] The workspace ID
25
25
  # @param action_proposal_input [ActionProposalInput]
26
26
  # @param [Hash] opts the optional parameters
@@ -31,7 +31,7 @@ module PlainRouter::OpenAPI
31
31
  end
32
32
 
33
33
  # Propose actions
34
- # Submit a governed proposal for an advertising account available to this workspace key. A matching idempotency key returns the saved batch.
34
+ # Submit or replay a governed proposal for an account available to this key. A kill switch saves a blocked proposal without executing provider writes.
35
35
  # @param workspace [Integer] The workspace ID
36
36
  # @param action_proposal_input [ActionProposalInput]
37
37
  # @param [Hash] opts the optional parameters