seatschart 0.1.1 → 0.3.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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +191 -16
  3. data/lib/seatschart/api/audit_api.rb +2 -2
  4. data/lib/seatschart/api/charts_api.rb +808 -75
  5. data/lib/seatschart/api/embed_api.rb +18 -7
  6. data/lib/seatschart/api/embed_origins_api.rb +63 -2
  7. data/lib/seatschart/api/event_log_api.rb +2 -2
  8. data/lib/seatschart/api/events_api.rb +1594 -112
  9. data/lib/seatschart/api/health_api.rb +244 -0
  10. data/lib/seatschart/api/listings_api.rb +884 -0
  11. data/lib/seatschart/api/map_designer_api.rb +11 -9
  12. data/lib/seatschart/api/object_status_api.rb +2 -2
  13. data/lib/seatschart/api/public_api.rb +350 -0
  14. data/lib/seatschart/api/sandboxes_api.rb +672 -0
  15. data/lib/seatschart/api/seasons_api.rb +455 -42
  16. data/lib/seatschart/api/seats_api.rb +13 -32
  17. data/lib/seatschart/api/usage_api.rb +20 -17
  18. data/lib/seatschart/api/webhooks_api.rb +2 -2
  19. data/lib/seatschart/api/workspace_api.rb +306 -20
  20. data/lib/seatschart/models/api_error.rb +307 -0
  21. data/lib/seatschart/models/api_error_params_value.rb +105 -0
  22. data/lib/seatschart/models/delete_api_sandboxes_by_sandbox_id200_response.rb +255 -0
  23. data/lib/seatschart/models/get_api_monitoring_requests200_response.rb +78 -4
  24. data/lib/seatschart/models/get_api_monitoring_requests200_response_concurrency.rb +318 -0
  25. data/lib/seatschart/models/get_api_monitoring_requests200_response_concurrency_api_keys_inner.rb +297 -0
  26. data/lib/seatschart/models/get_api_monitoring_requests200_response_points_inner.rb +38 -4
  27. data/lib/seatschart/models/get_api_sandboxes200_response.rb +239 -0
  28. data/lib/seatschart/models/get_api_sandboxes200_response_items_inner.rb +431 -0
  29. data/lib/seatschart/models/get_api_sandboxes200_response_items_inner_rate_limits.rb +270 -0
  30. data/lib/seatschart/models/get_api_sandboxes200_response_items_inner_usage.rb +287 -0
  31. data/lib/seatschart/models/get_api_status200_response.rb +387 -0
  32. data/lib/seatschart/models/get_api_status200_response_components_inner.rb +330 -0
  33. data/lib/seatschart/models/get_api_status200_response_components_inner_days_inner.rb +301 -0
  34. data/lib/seatschart/models/get_api_status200_response_incidents_inner.rb +374 -0
  35. data/lib/seatschart/models/get_api_status200_response_maintenance_inner.rb +350 -0
  36. data/lib/seatschart/models/get_api_status503_response.rb +271 -0
  37. data/lib/seatschart/models/get_api_workspace_buyer_extra_data200_response.rb +241 -0
  38. data/lib/seatschart/models/get_api_workspace_defaults200_response.rb +254 -0
  39. data/lib/seatschart/models/get_api_workspace_defaults200_response_renderer.rb +246 -0
  40. data/lib/seatschart/models/get_api_workspace_defaults200_response_renderer_built_in.rb +270 -0
  41. data/lib/seatschart/models/get_api_workspace_settings200_response_effective.rb +20 -4
  42. data/lib/seatschart/models/get_api_workspace_settings200_response_overrides.rb +13 -4
  43. data/lib/seatschart/models/get_api_workspace_settings200_response_sources.rb +32 -4
  44. data/lib/seatschart/models/get_api_workspaces200_response_items_inner.rb +34 -5
  45. data/lib/seatschart/models/patch_api_events_by_event_id_listings_by_listing_id_request.rb +379 -0
  46. data/lib/seatschart/models/patch_api_events_by_event_id_request.rb +16 -6
  47. data/lib/seatschart/models/patch_api_listing_types_by_key_request.rb +376 -0
  48. data/lib/seatschart/models/patch_api_seasons_by_season_id_partial_seasons_by_partial_season_id_request.rb +268 -0
  49. data/lib/seatschart/models/patch_api_seasons_by_season_id_request.rb +41 -5
  50. data/lib/seatschart/models/patch_api_webhooks_by_id_request.rb +1 -1
  51. data/lib/seatschart/models/patch_api_workspace_chart_validation_request_severities.rb +25 -4
  52. data/lib/seatschart/models/patch_api_workspace_defaults_request.rb +224 -0
  53. data/lib/seatschart/models/patch_api_workspace_defaults_request_renderer.rb +249 -0
  54. data/lib/seatschart/models/patch_api_workspace_settings_request.rb +18 -7
  55. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_copy_to_workspace_request.rb +39 -1
  56. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_validate_request.rb +1 -0
  57. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_validate_request_seats_inner_accessibility.rb +6 -6
  58. data/lib/seatschart/models/post_api_charts_by_chart_id_map_publish422_response_issues_inner.rb +64 -6
  59. data/lib/seatschart/models/post_api_charts_by_chart_id_map_publish_request.rb +1 -1
  60. data/lib/seatschart/models/post_api_embed_tokens_request.rb +18 -15
  61. data/lib/seatschart/models/post_api_embed_tokens_request_safe_mode_options.rb +226 -0
  62. data/lib/seatschart/models/post_api_events_actions_change_object_status_request_status_changes_inner.rb +0 -11
  63. data/lib/seatschart/models/post_api_events_actions_edit_for_sale_config_request.rb +251 -0
  64. data/lib/seatschart/models/post_api_events_actions_edit_for_sale_config_request_events_inner.rb +322 -0
  65. data/lib/seatschart/models/post_api_events_bulk_request_events_inner.rb +42 -1
  66. data/lib/seatschart/models/post_api_events_by_event_id_actions_change_object_status_request.rb +13 -26
  67. data/lib/seatschart/models/post_api_events_by_event_id_actions_change_object_status_request_listing.rb +392 -0
  68. data/lib/seatschart/models/post_api_events_by_event_id_actions_edit_for_sale_config_request.rb +277 -0
  69. data/lib/seatschart/models/post_api_events_by_event_id_actions_edit_for_sale_config_request_for_sale_inner.rb +319 -0
  70. data/lib/seatschart/models/post_api_events_by_event_id_actions_mark_everything_as_not_for_sale_request.rb +215 -0
  71. data/lib/seatschart/models/post_api_events_by_event_id_listings_by_listing_id_actions_mark_sold_request.rb +243 -0
  72. data/lib/seatschart/models/post_api_events_by_event_id_listings_request.rb +435 -0
  73. data/lib/seatschart/models/post_api_events_by_event_id_listings_request_objects_inner.rb +104 -0
  74. data/lib/seatschart/models/post_api_events_by_event_id_listings_request_objects_inner_any_of.rb +325 -0
  75. data/lib/seatschart/models/post_api_events_by_event_id_map_publish_request.rb +215 -0
  76. data/lib/seatschart/models/post_api_events_request.rb +42 -1
  77. data/lib/seatschart/models/{patch_api_events_by_event_id_request_categories_inner.rb → post_api_events_request_categories_inner.rb} +3 -3
  78. data/lib/seatschart/models/post_api_extract_seats200_response.rb +459 -0
  79. data/lib/seatschart/models/post_api_extract_seats200_response_seats_inner.rb +323 -0
  80. data/lib/seatschart/models/post_api_extract_seats200_response_suggested_inner.rb +320 -0
  81. data/lib/seatschart/models/post_api_extract_seats_request.rb +124 -4
  82. data/lib/seatschart/models/post_api_extract_seats_request_examples.rb +105 -0
  83. data/lib/seatschart/models/post_api_extract_seats_request_examples_any_of_inner.rb +293 -0
  84. data/lib/seatschart/models/post_api_extract_seats_request_negatives.rb +105 -0
  85. data/lib/seatschart/models/post_api_extract_seats_request_region.rb +105 -0
  86. data/lib/seatschart/models/post_api_extract_seats_request_region_any_of.rb +363 -0
  87. data/lib/seatschart/models/post_api_ga_confirm_request.rb +0 -44
  88. data/lib/seatschart/models/post_api_ga_release_request.rb +0 -11
  89. data/lib/seatschart/models/post_api_ga_reserve_request.rb +0 -33
  90. data/lib/seatschart/models/post_api_hold_tokens_request.rb +0 -22
  91. data/lib/seatschart/models/post_api_listing_types_request.rb +439 -0
  92. data/lib/seatschart/models/post_api_quotes_request.rb +0 -22
  93. data/lib/seatschart/models/post_api_sandboxes201_response.rb +245 -0
  94. data/lib/seatschart/models/post_api_sandboxes201_response_admin_key.rb +286 -0
  95. data/lib/seatschart/models/post_api_sandboxes201_response_copied.rb +313 -0
  96. data/lib/seatschart/models/post_api_sandboxes201_response_copied_charts_inner.rb +281 -0
  97. data/lib/seatschart/models/post_api_sandboxes201_response_copied_events_inner.rb +281 -0
  98. data/lib/seatschart/models/post_api_sandboxes201_response_copied_events_with_own_map_inner.rb +265 -0
  99. data/lib/seatschart/models/post_api_sandboxes201_response_copied_key_conflicts_inner.rb +287 -0
  100. data/lib/seatschart/models/post_api_sandboxes201_response_copied_seasons_inner.rb +312 -0
  101. data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_copy_from_production200_response.rb +313 -0
  102. data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_copy_from_production_request.rb +255 -0
  103. data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_join200_response.rb +271 -0
  104. data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_reset200_response.rb +268 -0
  105. data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_reset_request.rb +225 -0
  106. data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_admin_key201_response.rb +253 -0
  107. data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_admin_key201_response_api_key.rb +286 -0
  108. data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_admin_key_request.rb +252 -0
  109. data/lib/seatschart/models/post_api_sandboxes_request.rb +319 -0
  110. data/lib/seatschart/models/post_api_seasons_by_season_id_partial_seasons_request.rb +27 -1
  111. data/lib/seatschart/models/post_api_seasons_request.rb +40 -4
  112. data/lib/seatschart/models/post_api_seats_best_available_request.rb +0 -11
  113. data/lib/seatschart/models/post_api_seats_confirm_request.rb +5 -49
  114. data/lib/seatschart/models/post_api_seats_release_request.rb +5 -16
  115. data/lib/seatschart/models/post_api_seats_reserve_request.rb +5 -27
  116. data/lib/seatschart/models/post_api_viewer_tokens_request.rb +0 -11
  117. data/lib/seatschart/models/post_api_webhooks_request.rb +1 -1
  118. data/lib/seatschart/models/post_api_workspaces_request.rb +1 -1
  119. data/lib/seatschart/models/put_api_charts_by_chart_id_map_draft_request.rb +349 -0
  120. data/lib/seatschart/models/put_api_workspace_buyer_extra_data_request.rb +260 -0
  121. data/lib/seatschart/models/put_internal_status_notices_request.rb +242 -0
  122. data/lib/seatschart/models/put_internal_status_notices_request_notices_inner.rb +445 -0
  123. data/lib/seatschart/retry.rb +106 -7
  124. data/lib/seatschart/version.rb +1 -1
  125. data/lib/seatschart.rb +69 -2
  126. metadata +71 -4
  127. data/lib/seatschart/api/default_api.rb +0 -763
@@ -20,10 +20,11 @@ module SeatsChart
20
20
  @api_client = api_client
21
21
  end
22
22
  # List registered ticket buyer ids
23
- # Ordered by id; page with `cursor` = the previous `nextCursor`. API key (`holds` scope) or a dashboard session that manages integrations.
23
+ # Ordered by id; page with `cursor` = the previous `nextCursor` (keep the same `search`). The first page also returns `total` (matching ids). API key (`holds` scope) or a dashboard session that manages integrations.
24
24
  # @param [Hash] opts the optional parameters
25
25
  # @option opts [Integer] :limit
26
26
  # @option opts [String] :cursor `nextCursor` of the previous page.
27
+ # @option opts [String] :search Only ids starting with this text (case-sensitive).
27
28
  # @return [nil]
28
29
  def get_api_ticket_buyers(opts = {})
29
30
  get_api_ticket_buyers_with_http_info(opts)
@@ -31,10 +32,11 @@ module SeatsChart
31
32
  end
32
33
 
33
34
  # List registered ticket buyer ids
34
- # Ordered by id; page with `cursor` = the previous `nextCursor`. API key (`holds` scope) or a dashboard session that manages integrations.
35
+ # Ordered by id; page with `cursor` = the previous `nextCursor` (keep the same `search`). The first page also returns `total` (matching ids). API key (`holds` scope) or a dashboard session that manages integrations.
35
36
  # @param [Hash] opts the optional parameters
36
37
  # @option opts [Integer] :limit
37
38
  # @option opts [String] :cursor `nextCursor` of the previous page.
39
+ # @option opts [String] :search Only ids starting with this text (case-sensitive).
38
40
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
39
41
  def get_api_ticket_buyers_with_http_info(opts = {})
40
42
  if @api_client.config.debugging
@@ -56,6 +58,14 @@ module SeatsChart
56
58
  fail ArgumentError, 'invalid value for "opts[:"cursor"]" when calling EmbedApi.get_api_ticket_buyers, the character length must be great than or equal to 1.'
57
59
  end
58
60
 
61
+ if @api_client.config.client_side_validation && !opts[:'search'].nil? && opts[:'search'].to_s.length > 256
62
+ fail ArgumentError, 'invalid value for "opts[:"search"]" when calling EmbedApi.get_api_ticket_buyers, the character length must be smaller than or equal to 256.'
63
+ end
64
+
65
+ if @api_client.config.client_side_validation && !opts[:'search'].nil? && opts[:'search'].to_s.length < 1
66
+ fail ArgumentError, 'invalid value for "opts[:"search"]" when calling EmbedApi.get_api_ticket_buyers, the character length must be great than or equal to 1.'
67
+ end
68
+
59
69
  # resource path
60
70
  local_var_path = '/api/ticket-buyers'
61
71
 
@@ -63,6 +73,7 @@ module SeatsChart
63
73
  query_params = opts[:query_params] || {}
64
74
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
65
75
  query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
76
+ query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
66
77
 
67
78
  # header parameters
68
79
  header_params = opts[:header_params] || {}
@@ -97,7 +108,7 @@ module SeatsChart
97
108
  end
98
109
 
99
110
  # Mint a short-lived designer/manager embed token
100
- # HS256 audience `embed`, max TTL 30 minutes. Never put the workspace API secret in the browser. See docs/SEATSIO_PARITY.md.
111
+ # HS256 audience `embed`, max TTL 30 minutes. Never put the workspace API secret in the browser. A designer token carries its `mode` (`normal`, `safe` or `readOnly`), which the API enforces on every write: the embedded designer's own `mode` only adapts the UI. Tokens minted without a mode are `normal`. See docs/SEATSIO_PARITY.md.
101
112
  # @param post_api_embed_tokens_request [PostApiEmbedTokensRequest]
102
113
  # @param [Hash] opts the optional parameters
103
114
  # @option opts [String] :idempotency_key Required on transactional routes. Reuse the same key for every retry of one logical operation; the API replays the stored outcome.
@@ -108,7 +119,7 @@ module SeatsChart
108
119
  end
109
120
 
110
121
  # Mint a short-lived designer/manager embed token
111
- # HS256 audience &#x60;embed&#x60;, max TTL 30 minutes. Never put the workspace API secret in the browser. See docs/SEATSIO_PARITY.md.
122
+ # HS256 audience &#x60;embed&#x60;, max TTL 30 minutes. Never put the workspace API secret in the browser. A designer token carries its &#x60;mode&#x60; (&#x60;normal&#x60;, &#x60;safe&#x60; or &#x60;readOnly&#x60;), which the API enforces on every write: the embedded designer&#39;s own &#x60;mode&#x60; only adapts the UI. Tokens minted without a mode are &#x60;normal&#x60;. See docs/SEATSIO_PARITY.md.
112
123
  # @param post_api_embed_tokens_request [PostApiEmbedTokensRequest]
113
124
  # @param [Hash] opts the optional parameters
114
125
  # @option opts [String] :idempotency_key Required on transactional routes. Reuse the same key for every retry of one logical operation; the API replays the stored outcome.
@@ -328,7 +339,7 @@ module SeatsChart
328
339
  end
329
340
 
330
341
  # Mint a short-lived buyer (viewer) token with the partner API key
331
- # Server-to-server only (`x-api-key`, `holds` scope). Returns an HS256 buyer JWT bound to the API key's workspace (`tenant_id` claim) for the viewer `?token=` / `token` prop or `Authorization: Bearer` on consumer routes. Partners never need the platform `JWT_SECRET`. Mint one per buyer session from your server; never expose the API key in the browser. Lifetime 60-3600 seconds (default 900). Buyer tokens cannot mint tokens (403). Optional `ticketBuyerId` binds the token to a ticket buyer: holds made with it carry that id. With the workspace setting **ticket buyer validation** on, `ticketBuyerId` is required (400 `ticket_buyer_id_required`) and must be registered (`POST /ticket-buyers`; 403 `ticket_buyer_not_registered`); buyer holds then refuse a different id (403 `ticket_buyer_mismatch`) and tokens without one (403 `ticket_buyer_required`). Response: `{ token, tokenType: \"Bearer\", expiresInSeconds, expiresAt, ticketBuyerId? }`.
342
+ # Server-to-server only (`x-api-key`, `holds` scope). A dashboard session (Bearer of a workspace member) may also mint one: the web viewer page does so for a signed-in organizer instead of handing the session to the viewer; buyer tokens never can. Returns an HS256 buyer JWT bound to the API key's workspace (`tenant_id` claim) for the viewer `?token=` / `token` prop or `Authorization: Bearer` on consumer routes. Partners never need the platform `JWT_SECRET`. Mint one per buyer session from your server; never expose the API key in the browser. Lifetime 60-3600 seconds (default 900). Buyer tokens cannot mint tokens (403). Optional `ticketBuyerId` binds the token to a ticket buyer: holds made with it carry that id. With the workspace setting **ticket buyer validation** on, `ticketBuyerId` is required (400 `ticket_buyer_id_required`) and must be registered (`POST /ticket-buyers`; 403 `ticket_buyer_not_registered`); buyer holds then refuse a different id (403 `ticket_buyer_mismatch`) and tokens without one (403 `ticket_buyer_required`). Response: `{ token, tokenType: \"Bearer\", expiresInSeconds, expiresAt, ticketBuyerId? }`.
332
343
  # @param post_api_viewer_tokens_request [PostApiViewerTokensRequest]
333
344
  # @param [Hash] opts the optional parameters
334
345
  # @option opts [String] :idempotency_key Required on transactional routes. Reuse the same key for every retry of one logical operation; the API replays the stored outcome.
@@ -339,7 +350,7 @@ module SeatsChart
339
350
  end
340
351
 
341
352
  # Mint a short-lived buyer (viewer) token with the partner API key
342
- # Server-to-server only (&#x60;x-api-key&#x60;, &#x60;holds&#x60; scope). Returns an HS256 buyer JWT bound to the API key&#39;s workspace (&#x60;tenant_id&#x60; claim) for the viewer &#x60;?token&#x3D;&#x60; / &#x60;token&#x60; prop or &#x60;Authorization: Bearer&#x60; on consumer routes. Partners never need the platform &#x60;JWT_SECRET&#x60;. Mint one per buyer session from your server; never expose the API key in the browser. Lifetime 60-3600 seconds (default 900). Buyer tokens cannot mint tokens (403). Optional &#x60;ticketBuyerId&#x60; binds the token to a ticket buyer: holds made with it carry that id. With the workspace setting **ticket buyer validation** on, &#x60;ticketBuyerId&#x60; is required (400 &#x60;ticket_buyer_id_required&#x60;) and must be registered (&#x60;POST /ticket-buyers&#x60;; 403 &#x60;ticket_buyer_not_registered&#x60;); buyer holds then refuse a different id (403 &#x60;ticket_buyer_mismatch&#x60;) and tokens without one (403 &#x60;ticket_buyer_required&#x60;). Response: &#x60;{ token, tokenType: \&quot;Bearer\&quot;, expiresInSeconds, expiresAt, ticketBuyerId? }&#x60;.
353
+ # Server-to-server only (&#x60;x-api-key&#x60;, &#x60;holds&#x60; scope). A dashboard session (Bearer of a workspace member) may also mint one: the web viewer page does so for a signed-in organizer instead of handing the session to the viewer; buyer tokens never can. Returns an HS256 buyer JWT bound to the API key&#39;s workspace (&#x60;tenant_id&#x60; claim) for the viewer &#x60;?token&#x3D;&#x60; / &#x60;token&#x60; prop or &#x60;Authorization: Bearer&#x60; on consumer routes. Partners never need the platform &#x60;JWT_SECRET&#x60;. Mint one per buyer session from your server; never expose the API key in the browser. Lifetime 60-3600 seconds (default 900). Buyer tokens cannot mint tokens (403). Optional &#x60;ticketBuyerId&#x60; binds the token to a ticket buyer: holds made with it carry that id. With the workspace setting **ticket buyer validation** on, &#x60;ticketBuyerId&#x60; is required (400 &#x60;ticket_buyer_id_required&#x60;) and must be registered (&#x60;POST /ticket-buyers&#x60;; 403 &#x60;ticket_buyer_not_registered&#x60;); buyer holds then refuse a different id (403 &#x60;ticket_buyer_mismatch&#x60;) and tokens without one (403 &#x60;ticket_buyer_required&#x60;). Response: &#x60;{ token, tokenType: \&quot;Bearer\&quot;, expiresInSeconds, expiresAt, ticketBuyerId? }&#x60;.
343
354
  # @param post_api_viewer_tokens_request [PostApiViewerTokensRequest]
344
355
  # @param [Hash] opts the optional parameters
345
356
  # @option opts [String] :idempotency_key Required on transactional routes. Reuse the same key for every retry of one logical operation; the API replays the stored outcome.
@@ -385,7 +396,7 @@ module SeatsChart
385
396
  return_type = opts[:debug_return_type]
386
397
 
387
398
  # auth_names
388
- auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
399
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth', 'BearerAuth']
389
400
 
390
401
  new_options = opts.merge(
391
402
  :operation => :"EmbedApi.post_api_viewer_tokens",
@@ -143,7 +143,7 @@ module SeatsChart
143
143
  end
144
144
 
145
145
  # Resolve tenant embed origins for an event
146
- # Public read used by the Next.js viewer to build CSP frame-ancestors and validate parent_origin. Also returns `publicKey` (`pub_…`) so `?workspaceKey=` can be allowlisted. Also returns `event` (`name`, `startsAt` ISO-8601 or null when the date was never set) for the buyer page header. Returns origins, public key and the event name/date only (no tenant id). Does not require authentication.
146
+ # Public read used by the Next.js viewer to build CSP frame-ancestors and validate parent_origin. Also returns `publicKey` (`pub_…`) so `?workspaceKey=` can be allowlisted. Also returns `event` (`name`, `startsAt` ISO-8601 or null when the date was never set) for the buyer page header. Also returns `extraData`: true when the workspace publishes allow-listed extraData keys to buyers (the viewer then reads `GET /api/public/{publicKey}/events/{eventId}/extra-data`). Also returns `rendererDefaults`: the default renderer settings of the workspace (only the options it sets: `multiSelectEnabled`, `showFullScreenButton`, `companionSeatValidationEnabled`, `holdOnSelectForGAs`; see `GET /api/workspace/defaults`), from the cached workspace config (no query). An explicit embed / host option wins over them. Also returns `maxSeatsPerHoldToken`, the seats one hold token may hold (workspace setting, default 64; above 64 the workspace opts into large group holds and the viewer lets buyers select and hold up to that many seats in one atomic call). Returns origins, public key and the event name/date only (no tenant id). Does not require authentication.
147
147
  # @param event_id [String]
148
148
  # @param [Hash] opts the optional parameters
149
149
  # @return [nil]
@@ -153,7 +153,7 @@ module SeatsChart
153
153
  end
154
154
 
155
155
  # Resolve tenant embed origins for an event
156
- # Public read used by the Next.js viewer to build CSP frame-ancestors and validate parent_origin. Also returns &#x60;publicKey&#x60; (&#x60;pub_…&#x60;) so &#x60;?workspaceKey&#x3D;&#x60; can be allowlisted. Also returns &#x60;event&#x60; (&#x60;name&#x60;, &#x60;startsAt&#x60; ISO-8601 or null when the date was never set) for the buyer page header. Returns origins, public key and the event name/date only (no tenant id). Does not require authentication.
156
+ # Public read used by the Next.js viewer to build CSP frame-ancestors and validate parent_origin. Also returns &#x60;publicKey&#x60; (&#x60;pub_…&#x60;) so &#x60;?workspaceKey&#x3D;&#x60; can be allowlisted. Also returns &#x60;event&#x60; (&#x60;name&#x60;, &#x60;startsAt&#x60; ISO-8601 or null when the date was never set) for the buyer page header. Also returns &#x60;extraData&#x60;: true when the workspace publishes allow-listed extraData keys to buyers (the viewer then reads &#x60;GET /api/public/{publicKey}/events/{eventId}/extra-data&#x60;). Also returns &#x60;rendererDefaults&#x60;: the default renderer settings of the workspace (only the options it sets: &#x60;multiSelectEnabled&#x60;, &#x60;showFullScreenButton&#x60;, &#x60;companionSeatValidationEnabled&#x60;, &#x60;holdOnSelectForGAs&#x60;; see &#x60;GET /api/workspace/defaults&#x60;), from the cached workspace config (no query). An explicit embed / host option wins over them. Also returns &#x60;maxSeatsPerHoldToken&#x60;, the seats one hold token may hold (workspace setting, default 64; above 64 the workspace opts into large group holds and the viewer lets buyers select and hold up to that many seats in one atomic call). Returns origins, public key and the event name/date only (no tenant id). Does not require authentication.
157
157
  # @param event_id [String]
158
158
  # @param [Hash] opts the optional parameters
159
159
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
@@ -203,6 +203,67 @@ module SeatsChart
203
203
  return data, status_code, headers
204
204
  end
205
205
 
206
+ # Resolve tenant embed origins for a season
207
+ # Public read used by the Next.js season viewer (`/viewer/season/{seasonId}`) to build CSP frame-ancestors from the season workspace's embed origins and to validate `parent_origin` and `?workspaceKey=`, like the event embed policy. Also returns `rendererDefaults`: the default renderer settings of the workspace (only the options it sets: `multiSelectEnabled`, `showFullScreenButton`, `companionSeatValidationEnabled`, `holdOnSelectForGAs`; see `GET /api/workspace/defaults`), from the cached workspace config (no query). An explicit embed / host option wins over them. Also returns `maxSeatsPerHoldToken`, the seats one hold token may hold (workspace setting, default 64; above 64 the workspace opts into large group holds and the viewer lets buyers select and hold up to that many seats in one atomic call). Returns origins, the public key and the renderer defaults only (no tenant id). Unknown seasons return 404 (the viewer then allows only `ALLOWED_ORIGINS`). Does not require authentication.
208
+ # @param season_id [String]
209
+ # @param [Hash] opts the optional parameters
210
+ # @return [nil]
211
+ def get_api_seasons_by_season_id_embed_policy(season_id, opts = {})
212
+ get_api_seasons_by_season_id_embed_policy_with_http_info(season_id, opts)
213
+ nil
214
+ end
215
+
216
+ # Resolve tenant embed origins for a season
217
+ # Public read used by the Next.js season viewer (&#x60;/viewer/season/{seasonId}&#x60;) to build CSP frame-ancestors from the season workspace&#39;s embed origins and to validate &#x60;parent_origin&#x60; and &#x60;?workspaceKey&#x3D;&#x60;, like the event embed policy. Also returns &#x60;rendererDefaults&#x60;: the default renderer settings of the workspace (only the options it sets: &#x60;multiSelectEnabled&#x60;, &#x60;showFullScreenButton&#x60;, &#x60;companionSeatValidationEnabled&#x60;, &#x60;holdOnSelectForGAs&#x60;; see &#x60;GET /api/workspace/defaults&#x60;), from the cached workspace config (no query). An explicit embed / host option wins over them. Also returns &#x60;maxSeatsPerHoldToken&#x60;, the seats one hold token may hold (workspace setting, default 64; above 64 the workspace opts into large group holds and the viewer lets buyers select and hold up to that many seats in one atomic call). Returns origins, the public key and the renderer defaults only (no tenant id). Unknown seasons return 404 (the viewer then allows only &#x60;ALLOWED_ORIGINS&#x60;). Does not require authentication.
218
+ # @param season_id [String]
219
+ # @param [Hash] opts the optional parameters
220
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
221
+ def get_api_seasons_by_season_id_embed_policy_with_http_info(season_id, opts = {})
222
+ if @api_client.config.debugging
223
+ @api_client.config.logger.debug 'Calling API: EmbedOriginsApi.get_api_seasons_by_season_id_embed_policy ...'
224
+ end
225
+ # verify the required parameter 'season_id' is set
226
+ if @api_client.config.client_side_validation && season_id.nil?
227
+ fail ArgumentError, "Missing the required parameter 'season_id' when calling EmbedOriginsApi.get_api_seasons_by_season_id_embed_policy"
228
+ end
229
+ # resource path
230
+ local_var_path = '/api/seasons/{seasonId}/embed-policy'.sub('{' + 'seasonId' + '}', CGI.escape(season_id.to_s))
231
+
232
+ # query parameters
233
+ query_params = opts[:query_params] || {}
234
+
235
+ # header parameters
236
+ header_params = opts[:header_params] || {}
237
+
238
+ # form parameters
239
+ form_params = opts[:form_params] || {}
240
+
241
+ # http body (model)
242
+ post_body = opts[:debug_body]
243
+
244
+ # return_type
245
+ return_type = opts[:debug_return_type]
246
+
247
+ # auth_names
248
+ auth_names = opts[:debug_auth_names] || []
249
+
250
+ new_options = opts.merge(
251
+ :operation => :"EmbedOriginsApi.get_api_seasons_by_season_id_embed_policy",
252
+ :header_params => header_params,
253
+ :query_params => query_params,
254
+ :form_params => form_params,
255
+ :body => post_body,
256
+ :auth_names => auth_names,
257
+ :return_type => return_type
258
+ )
259
+
260
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
261
+ if @api_client.config.debugging
262
+ @api_client.config.logger.debug "API called: EmbedOriginsApi#get_api_seasons_by_season_id_embed_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
263
+ end
264
+ return data, status_code, headers
265
+ end
266
+
206
267
  # Register an allowed embed origin
207
268
  # @param post_api_embed_origins_request [PostApiEmbedOriginsRequest]
208
269
  # @param [Hash] opts the optional parameters
@@ -20,7 +20,7 @@ module SeatsChart
20
20
  @api_client = api_client
21
21
  end
22
22
  # Event log: admin changes of charts and events (cursor-paginated)
23
- # Newest first, from the workspace audit log. Types: `chart.created`, `chart.published`, `chart.draft_discarded`, `chart.version_restored`, `chart.archived`, `chart.unarchived`, `chart.deleted`, `chart.tags_updated`, `chart.categories_updated`, `event.created`, `event.updated`, `event.deleted`, `event.map_published`, `event.for_sale_changed`, `event.channels_updated`, `event.categories_updated`, `event.table_booking_changed`, `event.sales_rules_updated`, `event.pricing_synced`, `event.moved_to_chart_copy`, `event.season_status_changed`. Filter with `types` (comma-separated), `from` (inclusive) / `to` (exclusive) ISO-8601 instants and `resourceId` (chart or event id). Pass `nextCursor` back as `cursor` with the same filters until it is null; pages are stable while new entries arrive. `data` carries the change details (never the actor e-mail). The admin types `chart.created`, `event.for_sale_changed`, `event.channels_updated`, `event.categories_updated` and `event.table_booking_changed` are also delivered as webhooks whose items carry `log_id` = the entry `id`. API key, or a dashboard member with the integrations permission (admin).
23
+ # Newest first, from the workspace audit log. Types: `chart.created`, `chart.published`, `chart.draft_discarded`, `chart.version_restored`, `chart.archived`, `chart.unarchived`, `chart.deleted`, `chart.tags_updated`, `chart.categories_updated`, `event.created`, `event.updated`, `event.deleted`, `event.map_published`, `event.for_sale_changed`, `event.channels_updated`, `event.categories_updated`, `event.table_booking_changed`, `event.sales_rules_updated`, `event.pricing_synced`, `event.moved_to_chart_copy`, `event.season_status_changed`, `event.listings_updated`. Filter with `types` (comma-separated), `from` (inclusive) / `to` (exclusive) ISO-8601 instants and `resourceId` (chart or event id). Pass `nextCursor` back as `cursor` with the same filters until it is null; pages are stable while new entries arrive. `data` carries the change details (never the actor e-mail). The admin types `chart.created`, `event.for_sale_changed`, `event.channels_updated`, `event.categories_updated` and `event.table_booking_changed` are also delivered as webhooks whose items carry `log_id` = the entry `id`. **Retention**: entries are kept for `EVENT_LOG_RETENTION_DAYS` days (default 365, at least 30; seats.io keeps 14) and then deleted with the workspace audit log they come from. API key, or a dashboard member with the integrations permission (admin).
24
24
  # @param [Hash] opts the optional parameters
25
25
  # @option opts [Float] :limit Page size (1..100, default 20).
26
26
  # @option opts [String] :cursor Opaque &#x60;nextCursor&#x60; value from the previous page.
@@ -35,7 +35,7 @@ module SeatsChart
35
35
  end
36
36
 
37
37
  # Event log: admin changes of charts and events (cursor-paginated)
38
- # Newest first, from the workspace audit log. Types: &#x60;chart.created&#x60;, &#x60;chart.published&#x60;, &#x60;chart.draft_discarded&#x60;, &#x60;chart.version_restored&#x60;, &#x60;chart.archived&#x60;, &#x60;chart.unarchived&#x60;, &#x60;chart.deleted&#x60;, &#x60;chart.tags_updated&#x60;, &#x60;chart.categories_updated&#x60;, &#x60;event.created&#x60;, &#x60;event.updated&#x60;, &#x60;event.deleted&#x60;, &#x60;event.map_published&#x60;, &#x60;event.for_sale_changed&#x60;, &#x60;event.channels_updated&#x60;, &#x60;event.categories_updated&#x60;, &#x60;event.table_booking_changed&#x60;, &#x60;event.sales_rules_updated&#x60;, &#x60;event.pricing_synced&#x60;, &#x60;event.moved_to_chart_copy&#x60;, &#x60;event.season_status_changed&#x60;. Filter with &#x60;types&#x60; (comma-separated), &#x60;from&#x60; (inclusive) / &#x60;to&#x60; (exclusive) ISO-8601 instants and &#x60;resourceId&#x60; (chart or event id). Pass &#x60;nextCursor&#x60; back as &#x60;cursor&#x60; with the same filters until it is null; pages are stable while new entries arrive. &#x60;data&#x60; carries the change details (never the actor e-mail). The admin types &#x60;chart.created&#x60;, &#x60;event.for_sale_changed&#x60;, &#x60;event.channels_updated&#x60;, &#x60;event.categories_updated&#x60; and &#x60;event.table_booking_changed&#x60; are also delivered as webhooks whose items carry &#x60;log_id&#x60; &#x3D; the entry &#x60;id&#x60;. API key, or a dashboard member with the integrations permission (admin).
38
+ # Newest first, from the workspace audit log. Types: &#x60;chart.created&#x60;, &#x60;chart.published&#x60;, &#x60;chart.draft_discarded&#x60;, &#x60;chart.version_restored&#x60;, &#x60;chart.archived&#x60;, &#x60;chart.unarchived&#x60;, &#x60;chart.deleted&#x60;, &#x60;chart.tags_updated&#x60;, &#x60;chart.categories_updated&#x60;, &#x60;event.created&#x60;, &#x60;event.updated&#x60;, &#x60;event.deleted&#x60;, &#x60;event.map_published&#x60;, &#x60;event.for_sale_changed&#x60;, &#x60;event.channels_updated&#x60;, &#x60;event.categories_updated&#x60;, &#x60;event.table_booking_changed&#x60;, &#x60;event.sales_rules_updated&#x60;, &#x60;event.pricing_synced&#x60;, &#x60;event.moved_to_chart_copy&#x60;, &#x60;event.season_status_changed&#x60;, &#x60;event.listings_updated&#x60;. Filter with &#x60;types&#x60; (comma-separated), &#x60;from&#x60; (inclusive) / &#x60;to&#x60; (exclusive) ISO-8601 instants and &#x60;resourceId&#x60; (chart or event id). Pass &#x60;nextCursor&#x60; back as &#x60;cursor&#x60; with the same filters until it is null; pages are stable while new entries arrive. &#x60;data&#x60; carries the change details (never the actor e-mail). The admin types &#x60;chart.created&#x60;, &#x60;event.for_sale_changed&#x60;, &#x60;event.channels_updated&#x60;, &#x60;event.categories_updated&#x60; and &#x60;event.table_booking_changed&#x60; are also delivered as webhooks whose items carry &#x60;log_id&#x60; &#x3D; the entry &#x60;id&#x60;. **Retention**: entries are kept for &#x60;EVENT_LOG_RETENTION_DAYS&#x60; days (default 365, at least 30; seats.io keeps 14) and then deleted with the workspace audit log they come from. API key, or a dashboard member with the integrations permission (admin).
39
39
  # @param [Hash] opts the optional parameters
40
40
  # @option opts [Float] :limit Page size (1..100, default 20).
41
41
  # @option opts [String] :cursor Opaque &#x60;nextCursor&#x60; value from the previous page.