plainrouter-sdk 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -0
  3. data/lib/plainrouter/client.rb +343 -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_read_api_api.rb +71 -31
  8. data/lib/plainrouter/openapi/api/action_rule_api_api.rb +350 -0
  9. data/lib/plainrouter/openapi/api/ad_test_api_api.rb +13 -9
  10. data/lib/plainrouter/openapi/api/agent_context_api.rb +93 -0
  11. data/lib/plainrouter/openapi/api/creative_api.rb +241 -0
  12. data/lib/plainrouter/openapi/api/deployment_plan_api.rb +257 -2
  13. data/lib/plainrouter/openapi/api/draft_batch_file_import_api.rb +142 -0
  14. data/lib/plainrouter/openapi/api/launch_policy_api.rb +242 -0
  15. data/lib/plainrouter/openapi/api/meta_inventory_exposure_api.rb +133 -0
  16. data/lib/plainrouter/openapi/api_client.rb +4 -0
  17. data/lib/plainrouter/openapi/api_model_base.rb +2 -0
  18. data/lib/plainrouter/openapi/configuration.rb +34 -0
  19. data/lib/plainrouter/openapi/models/action_batch_read_data.rb +42 -4
  20. data/lib/plainrouter/openapi/models/action_dry_run_read_dry_run.rb +42 -4
  21. data/lib/plainrouter/openapi/models/action_list_read_meta.rb +33 -4
  22. data/lib/plainrouter/openapi/models/action_proposal_input.rb +72 -1
  23. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner.rb +1 -0
  24. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of.rb +2 -0
  25. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of1.rb +2 -0
  26. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10.rb +2 -0
  27. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of10_params.rb +2 -0
  28. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of11.rb +3 -1
  29. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12.rb +2 -0
  30. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of12_params.rb +2 -0
  31. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13.rb +2 -0
  32. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of13_params.rb +2 -0
  33. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of2.rb +2 -0
  34. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of3.rb +2 -0
  35. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4.rb +2 -0
  36. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of4_target_entity.rb +2 -0
  37. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of5.rb +2 -0
  38. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of6.rb +2 -0
  39. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of7.rb +2 -0
  40. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of8.rb +2 -0
  41. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of9.rb +2 -0
  42. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_params.rb +2 -0
  43. data/lib/plainrouter/openapi/models/action_proposal_input_actions_inner_any_of_target_entity.rb +2 -0
  44. data/lib/plainrouter/openapi/models/action_proposal_input_evidence_inner.rb +4 -2
  45. data/lib/plainrouter/openapi/models/action_proposal_read_proposal.rb +42 -4
  46. data/lib/plainrouter/openapi/models/action_read_item.rb +11 -1
  47. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence.rb +319 -0
  48. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_counted.rb +174 -0
  49. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_coverage.rb +162 -0
  50. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_meta_reported.rb +198 -0
  51. data/lib/plainrouter/openapi/models/{action_proposal_input_actions_inner_any_of11_params.rb → action_read_item_counted_evidence_target.rb} +41 -24
  52. data/lib/plainrouter/openapi/models/action_read_item_counted_evidence_window.rb +225 -0
  53. data/lib/plainrouter/openapi/models/action_receipt_unavailable.rb +164 -0
  54. data/lib/plainrouter/openapi/models/action_receipt_unavailable_error.rb +214 -0
  55. data/lib/plainrouter/openapi/models/action_rule_detail_read.rb +164 -0
  56. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule.rb +402 -0
  57. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_current_revision.rb +388 -0
  58. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_runs_inner.rb +396 -0
  59. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_runs_inner_decisions_inner.rb +382 -0
  60. data/lib/plainrouter/openapi/models/action_rule_detail_read_rule_window.rb +242 -0
  61. data/lib/plainrouter/openapi/models/action_rule_write_read.rb +164 -0
  62. data/lib/plainrouter/openapi/models/action_rule_write_read_rule.rb +373 -0
  63. data/lib/plainrouter/openapi/models/actions_api_decision_receipt404_response.rb +103 -0
  64. data/lib/plainrouter/openapi/models/actions_rules_index200_response.rb +164 -0
  65. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules.rb +196 -0
  66. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner.rb +344 -0
  67. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner_account.rb +157 -0
  68. data/lib/plainrouter/openapi/models/actions_rules_index200_response_rules_data_inner_counts.rb +156 -0
  69. data/lib/plainrouter/openapi/models/actions_rules_index403_response.rb +103 -0
  70. data/lib/plainrouter/openapi/models/actions_rules_index403_response_any_of.rb +214 -0
  71. data/lib/plainrouter/openapi/models/actions_rules_store_request.rb +317 -0
  72. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition.rb +105 -0
  73. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of.rb +317 -0
  74. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of1.rb +361 -0
  75. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of2.rb +361 -0
  76. data/lib/plainrouter/openapi/models/actions_rules_store_request_definition_any_of_cost_ratio.rb +104 -0
  77. data/lib/plainrouter/openapi/models/actions_rules_store_request_window.rb +103 -0
  78. data/lib/plainrouter/openapi/models/actions_rules_update_request.rb +267 -0
  79. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition.rb +105 -0
  80. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of.rb +317 -0
  81. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of1.rb +361 -0
  82. data/lib/plainrouter/openapi/models/actions_rules_update_request_definition_any_of2.rb +361 -0
  83. data/lib/plainrouter/openapi/models/ad_test_list_read_tests.rb +1 -1
  84. data/lib/plainrouter/openapi/models/agent_context200_response.rb +214 -0
  85. data/lib/plainrouter/openapi/models/agent_context200_response_agent.rb +268 -0
  86. data/lib/plainrouter/openapi/models/agent_context200_response_platform_ad_account.rb +292 -0
  87. data/lib/plainrouter/openapi/models/agent_context200_response_platform_ad_account_workspace.rb +190 -0
  88. data/lib/plainrouter/openapi/models/agent_context401_response.rb +103 -0
  89. data/lib/plainrouter/openapi/models/agent_context_auth_error.rb +190 -0
  90. data/lib/plainrouter/openapi/models/creative_intake_read.rb +1 -1
  91. data/lib/plainrouter/openapi/models/creative_mcp_grant_operation.rb +44 -0
  92. data/lib/plainrouter/openapi/models/creative_mcp_preview.rb +283 -0
  93. data/lib/plainrouter/openapi/models/creative_mcp_refusal.rb +45 -0
  94. data/lib/plainrouter/openapi/models/creative_mcp_tool.rb +44 -0
  95. data/lib/plainrouter/openapi/models/delivery_status.rb +2 -1
  96. data/lib/plainrouter/openapi/models/deployment_plan_read.rb +42 -4
  97. data/lib/plainrouter/openapi/models/destination.rb +73 -9
  98. data/lib/plainrouter/openapi/models/destination_config.rb +103 -0
  99. data/lib/plainrouter/openapi/models/destination_status.rb +2 -1
  100. data/lib/plainrouter/openapi/models/draft_batch_mode.rb +41 -0
  101. data/lib/plainrouter/openapi/models/get_account_inventory200_response.rb +341 -0
  102. data/lib/plainrouter/openapi/models/get_account_inventory200_response_summary.rb +158 -0
  103. data/lib/plainrouter/openapi/models/get_account_inventory404_response.rb +103 -0
  104. data/lib/plainrouter/openapi/models/get_account_inventory404_response_any_of.rb +188 -0
  105. data/lib/plainrouter/openapi/models/get_event200_response_deliveries_inner.rb +25 -1
  106. data/lib/plainrouter/openapi/models/get_event200_response_event_deliveries_inner.rb +25 -1
  107. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response.rb +26 -5
  108. data/lib/plainrouter/openapi/models/get_inventory_metrics200_response_pagination_value.rb +202 -0
  109. data/lib/plainrouter/openapi/models/launch_creatives_index200_response.rb +164 -0
  110. data/lib/plainrouter/openapi/models/launch_creatives_index200_response_creatives.rb +196 -0
  111. data/lib/plainrouter/openapi/models/{creative_intake_read_creative.rb → launch_creatives_index200_response_creatives_data_inner.rb} +4 -4
  112. data/lib/plainrouter/openapi/models/{creative_intake_read_creative_tags.rb → launch_creatives_index200_response_creatives_data_inner_tags.rb} +1 -1
  113. data/lib/plainrouter/openapi/models/launch_creatives_status200_response.rb +166 -0
  114. data/lib/plainrouter/openapi/models/launch_plans_copy422_response.rb +103 -0
  115. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans.rb +107 -4
  116. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments.rb +104 -0
  117. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments_any_of.rb +190 -0
  118. data/lib/plainrouter/openapi/models/launch_plans_index200_response_plans_next_page_arguments_any_of1.rb +190 -0
  119. data/lib/plainrouter/openapi/models/launch_plans_store201_response.rb +166 -0
  120. data/lib/plainrouter/openapi/models/launch_plans_validate422_response.rb +103 -0
  121. data/lib/plainrouter/openapi/models/launch_policies_index200_response.rb +164 -0
  122. data/lib/plainrouter/openapi/models/launch_policies_index200_response_policies.rb +453 -0
  123. data/lib/plainrouter/openapi/models/{list_events200_response_events_links_inner.rb → launch_policies_index200_response_policies_links_inner.rb} +3 -3
  124. data/lib/plainrouter/openapi/models/launch_policies_store201_response.rb +166 -0
  125. data/lib/plainrouter/openapi/models/launch_policy.rb +346 -0
  126. data/lib/plainrouter/openapi/models/launcher_file_import403_response.rb +216 -0
  127. data/lib/plainrouter/openapi/models/launcher_file_import422_response.rb +103 -0
  128. data/lib/plainrouter/openapi/models/launcher_file_import422_response_any_of.rb +242 -0
  129. data/lib/plainrouter/openapi/models/launcher_file_import422_response_any_of_syntactic_row_failures_inner.rb +190 -0
  130. data/lib/plainrouter/openapi/models/list_events200_response_events.rb +1 -1
  131. data/lib/plainrouter/openapi/models/plan_execute_rejected_error.rb +2 -2
  132. data/lib/plainrouter/openapi/models/plan_validate_rejected.rb +164 -0
  133. data/lib/plainrouter/openapi/models/plan_validate_rejected_error.rb +191 -0
  134. data/lib/plainrouter/openapi/models/proposal_unavailable.rb +164 -0
  135. data/lib/plainrouter/openapi/models/proposal_unavailable_error.rb +214 -0
  136. data/lib/plainrouter/openapi/models/set_destination_test_mode200_response_destination.rb +67 -1
  137. data/lib/plainrouter/openapi/models/{deployment_plan.rb → store_deployment_plan_request.rb} +185 -208
  138. data/lib/plainrouter/openapi/models/store_deployment_plan_request_ad_set_spec.rb +220 -0
  139. data/lib/plainrouter/openapi/models/store_deployment_plan_request_copy.rb +266 -0
  140. data/lib/plainrouter/openapi/models/store_deployment_plan_request_creative_overrides_inner.rb +217 -0
  141. data/lib/plainrouter/openapi/models/store_launch_policy_request.rb +260 -0
  142. data/lib/plainrouter/openapi/models/update_creative_status_request.rb +188 -0
  143. data/lib/plainrouter/openapi/models/update_deployment_plan_request.rb +511 -0
  144. data/lib/plainrouter/openapi/version.rb +1 -1
  145. data/lib/plainrouter/openapi.rb +88 -5
  146. data/lib/plainrouter/proposal_errors.rb +31 -0
  147. data/lib/plainrouter/version.rb +1 -1
  148. data/lib/plainrouter.rb +1 -0
  149. metadata +94 -7
@@ -23,8 +23,8 @@ module PlainRouter::OpenAPI
23
23
  # Lists scoped Tests, their loser pause candidate status and reasons, and observed conversion event choices with last-30-day recorded counts.
24
24
  # @param workspace [Integer] The workspace ID
25
25
  # @param [Hash] opts the optional parameters
26
- # @option opts [Integer] :page
27
26
  # @option opts [Integer] :per_page
27
+ # @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.
28
28
  # @return [AdTestListRead]
29
29
  def actions_tests_api_index(workspace, opts = {})
30
30
  data, _status_code, _headers = actions_tests_api_index_with_http_info(workspace, opts)
@@ -35,8 +35,8 @@ module PlainRouter::OpenAPI
35
35
  # Lists scoped Tests, their loser pause candidate status and reasons, and observed conversion event choices with last-30-day recorded counts.
36
36
  # @param workspace [Integer] The workspace ID
37
37
  # @param [Hash] opts the optional parameters
38
- # @option opts [Integer] :page
39
38
  # @option opts [Integer] :per_page
39
+ # @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.
40
40
  # @return [Array<(AdTestListRead, Integer, Hash)>] AdTestListRead data, response status code and response headers
41
41
  def actions_tests_api_index_with_http_info(workspace, opts = {})
42
42
  if @api_client.config.debugging
@@ -46,25 +46,29 @@ module PlainRouter::OpenAPI
46
46
  if @api_client.config.client_side_validation && workspace.nil?
47
47
  fail ArgumentError, "Missing the required parameter 'workspace' when calling AdTestApiApi.actions_tests_api_index"
48
48
  end
49
- if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
50
- fail ArgumentError, 'invalid value for "opts[:"page"]" when calling AdTestApiApi.actions_tests_api_index, must be greater than or equal to 1.'
51
- end
52
-
53
- if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] > 100
49
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && !opts[:'per_page'].is_a?(String) && opts[:'per_page'] > 100
54
50
  fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling AdTestApiApi.actions_tests_api_index, must be smaller than or equal to 100.'
55
51
  end
56
52
 
57
- if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] < 1
53
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && !opts[:'per_page'].is_a?(String) && opts[:'per_page'] < 1
58
54
  fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling AdTestApiApi.actions_tests_api_index, must be greater than or equal to 1.'
59
55
  end
60
56
 
57
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] > 10000000000000000
58
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling AdTestApiApi.actions_tests_api_index, must be smaller than or equal to 10000000000000000.'
59
+ end
60
+
61
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] < 1
62
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling AdTestApiApi.actions_tests_api_index, must be greater than or equal to 1.'
63
+ end
64
+
61
65
  # resource path
62
66
  local_var_path = '/agent/workspaces/{workspace}/tests'.sub('{workspace}', CGI.escape(workspace.to_s))
63
67
 
64
68
  # query parameters
65
69
  query_params = opts[:query_params] || {}
66
- query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
67
70
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
71
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
68
72
 
69
73
  # header parameters
70
74
  header_params = opts[:header_params] || {}
@@ -0,0 +1,93 @@
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 AgentContextApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get agent context
23
+ # Read the authenticated agent and authorized account. With no active account, returns null and connection next steps.
24
+ # @param [Hash] opts the optional parameters
25
+ # @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. With no active available account, a valid account_id is ignored and platform_ad_account is null.
26
+ # @option opts [Integer] :workspace_id Optional workspace grant selector. Required for credentials with multiple workspace grants; it must identify an authorized workspace.
27
+ # @return [AgentContext200Response]
28
+ def agent_context(opts = {})
29
+ data, _status_code, _headers = agent_context_with_http_info(opts)
30
+ data
31
+ end
32
+
33
+ # Get agent context
34
+ # Read the authenticated agent and authorized account. With no active account, returns null and connection next steps.
35
+ # @param [Hash] opts the optional parameters
36
+ # @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. With no active available account, a valid account_id is ignored and platform_ad_account is null.
37
+ # @option opts [Integer] :workspace_id Optional workspace grant selector. Required for credentials with multiple workspace grants; it must identify an authorized workspace.
38
+ # @return [Array<(AgentContext200Response, Integer, Hash)>] AgentContext200Response data, response status code and response headers
39
+ def agent_context_with_http_info(opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: AgentContextApi.agent_context ...'
42
+ end
43
+ if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && !opts[:'account_id'].is_a?(String) && opts[:'account_id'] < 1
44
+ fail ArgumentError, 'invalid value for "opts[:"account_id"]" when calling AgentContextApi.agent_context, must be greater than or equal to 1.'
45
+ end
46
+
47
+ if @api_client.config.client_side_validation && !opts[:'workspace_id'].nil? && !opts[:'workspace_id'].is_a?(String) && opts[:'workspace_id'] < 1
48
+ fail ArgumentError, 'invalid value for "opts[:"workspace_id"]" when calling AgentContextApi.agent_context, must be greater than or equal to 1.'
49
+ end
50
+
51
+ # resource path
52
+ local_var_path = '/agent/context'
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+ query_params[:'account_id'] = opts[:'account_id'] if !opts[:'account_id'].nil?
57
+ query_params[:'workspace_id'] = opts[:'workspace_id'] if !opts[:'workspace_id'].nil?
58
+
59
+ # header parameters
60
+ header_params = opts[:header_params] || {}
61
+ # HTTP header 'Accept' (if needed)
62
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
63
+
64
+ # form parameters
65
+ form_params = opts[:form_params] || {}
66
+
67
+ # http body (model)
68
+ post_body = opts[:debug_body]
69
+
70
+ # return_type
71
+ return_type = opts[:debug_return_type] || 'AgentContext200Response'
72
+
73
+ # auth_names
74
+ auth_names = opts[:debug_auth_names] || ['agentContextOAuth', 'agentContextKey']
75
+
76
+ new_options = opts.merge(
77
+ :operation => :"AgentContextApi.agent_context",
78
+ :header_params => header_params,
79
+ :query_params => query_params,
80
+ :form_params => form_params,
81
+ :body => post_body,
82
+ :auth_names => auth_names,
83
+ :return_type => return_type
84
+ )
85
+
86
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
87
+ if @api_client.config.debugging
88
+ @api_client.config.logger.debug "API called: AgentContextApi#agent_context\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
89
+ end
90
+ return data, status_code, headers
91
+ end
92
+ end
93
+ end
@@ -19,6 +19,247 @@ module PlainRouter::OpenAPI
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
+ # List workspace creatives
23
+ # Read complete workspace creative rows within the shared MCP byte budget. Continue with next_cursor as cursor in the same workspace.
24
+ # @param workspace [Integer] The workspace ID
25
+ # @param [Hash] opts the optional parameters
26
+ # @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.
27
+ # @option opts [Integer] :per_page Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
28
+ # @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. (default to 1)
29
+ # @return [LaunchCreativesIndex200Response]
30
+ def launch_creatives_index(workspace, opts = {})
31
+ data, _status_code, _headers = launch_creatives_index_with_http_info(workspace, opts)
32
+ data
33
+ end
34
+
35
+ # List workspace creatives
36
+ # Read complete workspace creative rows within the shared MCP byte budget. Continue with next_cursor as cursor in the same workspace.
37
+ # @param workspace [Integer] The workspace ID
38
+ # @param [Hash] opts the optional parameters
39
+ # @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.
40
+ # @option opts [Integer] :per_page Maximum complete rows; the byte budget may return fewer. Defaults to 25. (default to 25)
41
+ # @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. (default to 1)
42
+ # @return [Array<(LaunchCreativesIndex200Response, Integer, Hash)>] LaunchCreativesIndex200Response data, response status code and response headers
43
+ def launch_creatives_index_with_http_info(workspace, opts = {})
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: CreativeApi.launch_creatives_index ...'
46
+ end
47
+ # verify the required parameter 'workspace' is set
48
+ if @api_client.config.client_side_validation && workspace.nil?
49
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling CreativeApi.launch_creatives_index"
50
+ end
51
+ if @api_client.config.client_side_validation && !opts[:'cursor'].nil? && !opts[:'cursor'].is_a?(String) && opts[:'cursor'] < 0
52
+ fail ArgumentError, 'invalid value for "opts[:"cursor"]" when calling CreativeApi.launch_creatives_index, must be greater than or equal to 0.'
53
+ end
54
+
55
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && !opts[:'per_page'].is_a?(String) && opts[:'per_page'] > 100
56
+ fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling CreativeApi.launch_creatives_index, must be smaller than or equal to 100.'
57
+ end
58
+
59
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && !opts[:'per_page'].is_a?(String) && opts[:'per_page'] < 1
60
+ fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling CreativeApi.launch_creatives_index, must be greater than or equal to 1.'
61
+ end
62
+
63
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] > 10000000000000000
64
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling CreativeApi.launch_creatives_index, must be smaller than or equal to 10000000000000000.'
65
+ end
66
+
67
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && !opts[:'page'].is_a?(String) && opts[:'page'] < 1
68
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling CreativeApi.launch_creatives_index, must be greater than or equal to 1.'
69
+ end
70
+
71
+ # resource path
72
+ local_var_path = '/workspaces/{workspace}/admin/creatives'.sub('{workspace}', CGI.escape(workspace.to_s))
73
+
74
+ # query parameters
75
+ query_params = opts[:query_params] || {}
76
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
77
+ query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
78
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
79
+
80
+ # header parameters
81
+ header_params = opts[:header_params] || {}
82
+ # HTTP header 'Accept' (if needed)
83
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
84
+
85
+ # form parameters
86
+ form_params = opts[:form_params] || {}
87
+
88
+ # http body (model)
89
+ post_body = opts[:debug_body]
90
+
91
+ # return_type
92
+ return_type = opts[:debug_return_type] || 'LaunchCreativesIndex200Response'
93
+
94
+ # auth_names
95
+ auth_names = opts[:debug_auth_names] || ['workspaceSecret']
96
+
97
+ new_options = opts.merge(
98
+ :operation => :"CreativeApi.launch_creatives_index",
99
+ :header_params => header_params,
100
+ :query_params => query_params,
101
+ :form_params => form_params,
102
+ :body => post_body,
103
+ :auth_names => auth_names,
104
+ :return_type => return_type
105
+ )
106
+
107
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug "API called: CreativeApi#launch_creatives_index\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
110
+ end
111
+ return data, status_code, headers
112
+ end
113
+
114
+ # Read a workspace creative
115
+ # Read a creative or change its approval status within the authorized workspace. Creative content and provider submission remain separate operations.
116
+ # @param workspace [Integer] The workspace ID
117
+ # @param creative [String]
118
+ # @param [Hash] opts the optional parameters
119
+ # @return [LaunchCreativesStatus200Response]
120
+ def launch_creatives_show(workspace, creative, opts = {})
121
+ data, _status_code, _headers = launch_creatives_show_with_http_info(workspace, creative, opts)
122
+ data
123
+ end
124
+
125
+ # Read a workspace creative
126
+ # Read a creative or change its approval status within the authorized workspace. Creative content and provider submission remain separate operations.
127
+ # @param workspace [Integer] The workspace ID
128
+ # @param creative [String]
129
+ # @param [Hash] opts the optional parameters
130
+ # @return [Array<(LaunchCreativesStatus200Response, Integer, Hash)>] LaunchCreativesStatus200Response data, response status code and response headers
131
+ def launch_creatives_show_with_http_info(workspace, creative, opts = {})
132
+ if @api_client.config.debugging
133
+ @api_client.config.logger.debug 'Calling API: CreativeApi.launch_creatives_show ...'
134
+ end
135
+ # verify the required parameter 'workspace' is set
136
+ if @api_client.config.client_side_validation && workspace.nil?
137
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling CreativeApi.launch_creatives_show"
138
+ end
139
+ # verify the required parameter 'creative' is set
140
+ if @api_client.config.client_side_validation && creative.nil?
141
+ fail ArgumentError, "Missing the required parameter 'creative' when calling CreativeApi.launch_creatives_show"
142
+ end
143
+ # resource path
144
+ local_var_path = '/workspaces/{workspace}/admin/creatives/{creative}'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{creative}', CGI.escape(creative.to_s))
145
+
146
+ # query parameters
147
+ query_params = opts[:query_params] || {}
148
+
149
+ # header parameters
150
+ header_params = opts[:header_params] || {}
151
+ # HTTP header 'Accept' (if needed)
152
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
153
+
154
+ # form parameters
155
+ form_params = opts[:form_params] || {}
156
+
157
+ # http body (model)
158
+ post_body = opts[:debug_body]
159
+
160
+ # return_type
161
+ return_type = opts[:debug_return_type] || 'LaunchCreativesStatus200Response'
162
+
163
+ # auth_names
164
+ auth_names = opts[:debug_auth_names] || ['workspaceSecret']
165
+
166
+ new_options = opts.merge(
167
+ :operation => :"CreativeApi.launch_creatives_show",
168
+ :header_params => header_params,
169
+ :query_params => query_params,
170
+ :form_params => form_params,
171
+ :body => post_body,
172
+ :auth_names => auth_names,
173
+ :return_type => return_type
174
+ )
175
+
176
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
177
+ if @api_client.config.debugging
178
+ @api_client.config.logger.debug "API called: CreativeApi#launch_creatives_show\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
179
+ end
180
+ return data, status_code, headers
181
+ end
182
+
183
+ # Update a workspace creative status
184
+ # Read a creative or change its approval status within the authorized workspace. Creative content and provider submission remain separate operations.
185
+ # @param workspace [Integer] The workspace ID
186
+ # @param creative [String]
187
+ # @param update_creative_status_request [UpdateCreativeStatusRequest]
188
+ # @param [Hash] opts the optional parameters
189
+ # @return [LaunchCreativesStatus200Response]
190
+ def launch_creatives_status(workspace, creative, update_creative_status_request, opts = {})
191
+ data, _status_code, _headers = launch_creatives_status_with_http_info(workspace, creative, update_creative_status_request, opts)
192
+ data
193
+ end
194
+
195
+ # Update a workspace creative status
196
+ # Read a creative or change its approval status within the authorized workspace. Creative content and provider submission remain separate operations.
197
+ # @param workspace [Integer] The workspace ID
198
+ # @param creative [String]
199
+ # @param update_creative_status_request [UpdateCreativeStatusRequest]
200
+ # @param [Hash] opts the optional parameters
201
+ # @return [Array<(LaunchCreativesStatus200Response, Integer, Hash)>] LaunchCreativesStatus200Response data, response status code and response headers
202
+ def launch_creatives_status_with_http_info(workspace, creative, update_creative_status_request, opts = {})
203
+ if @api_client.config.debugging
204
+ @api_client.config.logger.debug 'Calling API: CreativeApi.launch_creatives_status ...'
205
+ end
206
+ # verify the required parameter 'workspace' is set
207
+ if @api_client.config.client_side_validation && workspace.nil?
208
+ fail ArgumentError, "Missing the required parameter 'workspace' when calling CreativeApi.launch_creatives_status"
209
+ end
210
+ # verify the required parameter 'creative' is set
211
+ if @api_client.config.client_side_validation && creative.nil?
212
+ fail ArgumentError, "Missing the required parameter 'creative' when calling CreativeApi.launch_creatives_status"
213
+ end
214
+ # verify the required parameter 'update_creative_status_request' is set
215
+ if @api_client.config.client_side_validation && update_creative_status_request.nil?
216
+ fail ArgumentError, "Missing the required parameter 'update_creative_status_request' when calling CreativeApi.launch_creatives_status"
217
+ end
218
+ # resource path
219
+ local_var_path = '/workspaces/{workspace}/admin/creatives/{creative}/status'.sub('{workspace}', CGI.escape(workspace.to_s)).sub('{creative}', CGI.escape(creative.to_s))
220
+
221
+ # query parameters
222
+ query_params = opts[:query_params] || {}
223
+
224
+ # header parameters
225
+ header_params = opts[:header_params] || {}
226
+ # HTTP header 'Accept' (if needed)
227
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
228
+ # HTTP header 'Content-Type'
229
+ content_type = @api_client.select_header_content_type(['application/json'])
230
+ if !content_type.nil?
231
+ header_params['Content-Type'] = content_type
232
+ end
233
+
234
+ # form parameters
235
+ form_params = opts[:form_params] || {}
236
+
237
+ # http body (model)
238
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_creative_status_request)
239
+
240
+ # return_type
241
+ return_type = opts[:debug_return_type] || 'LaunchCreativesStatus200Response'
242
+
243
+ # auth_names
244
+ auth_names = opts[:debug_auth_names] || ['workspaceSecret']
245
+
246
+ new_options = opts.merge(
247
+ :operation => :"CreativeApi.launch_creatives_status",
248
+ :header_params => header_params,
249
+ :query_params => query_params,
250
+ :form_params => form_params,
251
+ :body => post_body,
252
+ :auth_names => auth_names,
253
+ :return_type => return_type
254
+ )
255
+
256
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
257
+ if @api_client.config.debugging
258
+ @api_client.config.logger.debug "API called: CreativeApi#launch_creatives_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
259
+ end
260
+ return data, status_code, headers
261
+ end
262
+
22
263
  # Upload a creative
23
264
  # Store a creative in the credential-bound workspace. Set generator, generator_job and parent_creative tags for output from an outside tool.
24
265
  # @param workspace [Integer] The workspace ID