seatschart 0.2.0 → 0.4.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.
- checksums.yaml +4 -4
- data/README.md +199 -19
- data/lib/seatschart/api/audit_api.rb +2 -2
- data/lib/seatschart/api/auth_api.rb +81 -4
- data/lib/seatschart/api/billing_api.rb +4 -0
- data/lib/seatschart/api/charts_api.rb +810 -77
- data/lib/seatschart/api/embed_api.rb +5 -5
- data/lib/seatschart/api/embed_origins_api.rb +63 -2
- data/lib/seatschart/api/event_log_api.rb +2 -2
- data/lib/seatschart/api/events_api.rb +1491 -175
- data/lib/seatschart/api/health_api.rb +244 -0
- data/lib/seatschart/api/map_designer_api.rb +11 -9
- data/lib/seatschart/api/public_api.rb +356 -6
- data/lib/seatschart/api/sandboxes_api.rb +672 -0
- data/lib/seatschart/api/seasons_api.rb +344 -36
- data/lib/seatschart/api/seats_api.rb +10 -10
- data/lib/seatschart/api/usage_api.rb +18 -15
- data/lib/seatschart/api/webhooks_api.rb +2 -2
- data/lib/seatschart/api/workspace_api.rb +1815 -363
- data/lib/seatschart/models/api_error.rb +4 -4
- data/lib/seatschart/models/delete_api_sandboxes_by_sandbox_id200_response.rb +255 -0
- data/lib/seatschart/models/delete_api_workspaces_by_workspace_id_keys_by_key_id200_response.rb +237 -0
- data/lib/seatschart/models/get_api_monitoring_requests200_response.rb +62 -4
- data/lib/seatschart/models/get_api_monitoring_requests200_response_points_inner.rb +21 -4
- data/lib/seatschart/models/get_api_sandboxes200_response.rb +239 -0
- data/lib/seatschart/models/get_api_sandboxes200_response_items_inner.rb +431 -0
- data/lib/seatschart/models/get_api_sandboxes200_response_items_inner_rate_limits.rb +270 -0
- data/lib/seatschart/models/get_api_sandboxes200_response_items_inner_usage.rb +287 -0
- data/lib/seatschart/models/get_api_status200_response.rb +387 -0
- data/lib/seatschart/models/get_api_status200_response_components_inner.rb +330 -0
- data/lib/seatschart/models/get_api_status200_response_components_inner_days_inner.rb +301 -0
- data/lib/seatschart/models/get_api_status200_response_incidents_inner.rb +374 -0
- data/lib/seatschart/models/get_api_status200_response_maintenance_inner.rb +350 -0
- data/lib/seatschart/models/get_api_status503_response.rb +271 -0
- data/lib/seatschart/models/get_api_workspace_buyer_extra_data200_response.rb +241 -0
- data/lib/seatschart/models/get_api_workspace_defaults200_response.rb +254 -0
- data/lib/seatschart/models/get_api_workspace_defaults200_response_renderer.rb +246 -0
- data/lib/seatschart/models/get_api_workspace_defaults200_response_renderer_built_in.rb +270 -0
- data/lib/seatschart/models/get_api_workspaces200_response_items_inner.rb +80 -5
- data/lib/seatschart/models/get_api_workspaces_by_workspace_id_keys200_response.rb +239 -0
- data/lib/seatschart/models/get_api_workspaces_by_workspace_id_keys200_response_api_keys_inner.rb +321 -0
- data/lib/seatschart/models/get_api_workspaces_created_by_api_parameter.rb +103 -0
- data/lib/seatschart/models/get_api_workspaces_overview_created_by_api_parameter.rb +103 -0
- data/lib/seatschart/models/patch_api_events_by_event_id_request.rb +12 -2
- data/lib/seatschart/models/patch_api_seasons_by_season_id_request.rb +15 -5
- data/lib/seatschart/models/patch_api_workspace_chart_validation_request_severities.rb +25 -4
- data/lib/seatschart/models/patch_api_workspace_defaults_request.rb +224 -0
- data/lib/seatschart/models/patch_api_workspace_defaults_request_renderer.rb +249 -0
- data/lib/seatschart/models/patch_api_workspace_settings_request.rb +6 -6
- data/lib/seatschart/models/patch_api_workspaces_by_workspace_id_keys_by_key_id200_response.rb +221 -0
- data/lib/seatschart/models/patch_api_workspaces_by_workspace_id_keys_by_key_id_request.rb +292 -0
- data/lib/seatschart/models/patch_api_workspaces_by_workspace_id_request.rb +288 -0
- data/lib/seatschart/models/post_api_auth_new_workspace_request.rb +294 -0
- data/lib/seatschart/models/post_api_charts_by_chart_id_actions_copy_to_workspace_request.rb +39 -1
- data/lib/seatschart/models/post_api_charts_by_chart_id_actions_validate_request.rb +1 -0
- data/lib/seatschart/models/post_api_charts_by_chart_id_map_publish422_response_issues_inner.rb +64 -6
- data/lib/seatschart/models/post_api_charts_by_chart_id_map_publish_request.rb +1 -1
- data/lib/seatschart/models/post_api_embed_tokens_request.rb +18 -15
- data/lib/seatschart/models/post_api_embed_tokens_request_safe_mode_options.rb +226 -0
- data/lib/seatschart/models/post_api_events_actions_edit_for_sale_config_request.rb +251 -0
- data/lib/seatschart/models/post_api_events_actions_edit_for_sale_config_request_events_inner.rb +322 -0
- data/lib/seatschart/models/post_api_events_bulk_request_events_inner.rb +42 -1
- data/lib/seatschart/models/post_api_events_by_event_id_actions_edit_for_sale_config_request.rb +277 -0
- data/lib/seatschart/models/post_api_events_by_event_id_actions_edit_for_sale_config_request_for_sale_inner.rb +319 -0
- data/lib/seatschart/models/post_api_events_by_event_id_map_publish_request.rb +215 -0
- data/lib/seatschart/models/post_api_events_request.rb +42 -1
- data/lib/seatschart/models/{patch_api_events_by_event_id_request_categories_inner.rb → post_api_events_request_categories_inner.rb} +3 -3
- data/lib/seatschart/models/post_api_extract_seats200_response.rb +459 -0
- data/lib/seatschart/models/post_api_extract_seats200_response_seats_inner.rb +323 -0
- data/lib/seatschart/models/post_api_extract_seats200_response_suggested_inner.rb +320 -0
- data/lib/seatschart/models/post_api_extract_seats_request.rb +124 -4
- data/lib/seatschart/models/post_api_extract_seats_request_examples.rb +105 -0
- data/lib/seatschart/models/post_api_extract_seats_request_examples_any_of_inner.rb +293 -0
- data/lib/seatschart/models/post_api_extract_seats_request_negatives.rb +105 -0
- data/lib/seatschart/models/post_api_extract_seats_request_region.rb +105 -0
- data/lib/seatschart/models/{put_api_charts_by_chart_id_map_draft_request.rb → post_api_extract_seats_request_region_any_of.rb} +111 -96
- data/lib/seatschart/models/post_api_sandboxes201_response.rb +245 -0
- data/lib/seatschart/models/post_api_sandboxes201_response_admin_key.rb +286 -0
- data/lib/seatschart/models/post_api_sandboxes201_response_copied.rb +313 -0
- data/lib/seatschart/models/post_api_sandboxes201_response_copied_charts_inner.rb +281 -0
- data/lib/seatschart/models/post_api_sandboxes201_response_copied_events_inner.rb +281 -0
- data/lib/seatschart/models/post_api_sandboxes201_response_copied_events_with_own_map_inner.rb +265 -0
- data/lib/seatschart/models/post_api_sandboxes201_response_copied_key_conflicts_inner.rb +287 -0
- data/lib/seatschart/models/post_api_sandboxes201_response_copied_seasons_inner.rb +312 -0
- data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_copy_from_production200_response.rb +313 -0
- data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_copy_from_production_request.rb +255 -0
- data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_join200_response.rb +271 -0
- data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_reset200_response.rb +268 -0
- data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_actions_reset_request.rb +225 -0
- data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_admin_key201_response.rb +253 -0
- data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_admin_key201_response_api_key.rb +286 -0
- data/lib/seatschart/models/post_api_sandboxes_by_sandbox_id_admin_key_request.rb +252 -0
- data/lib/seatschart/models/post_api_sandboxes_request.rb +319 -0
- data/lib/seatschart/models/post_api_seasons_request.rb +14 -4
- data/lib/seatschart/models/post_api_seats_confirm_request.rb +5 -5
- data/lib/seatschart/models/post_api_seats_release_request.rb +5 -5
- data/lib/seatschart/models/post_api_seats_reserve_request.rb +5 -5
- data/lib/seatschart/models/post_api_workspaces200_response.rb +468 -0
- data/lib/seatschart/models/post_api_workspaces200_response_api_key.rb +332 -0
- data/lib/seatschart/models/post_api_workspaces200_response_template.rb +260 -0
- data/lib/seatschart/models/post_api_workspaces200_response_template_webhooks_inner.rb +284 -0
- data/lib/seatschart/models/post_api_workspaces_by_workspace_id_actions_delete200_response.rb +319 -0
- data/lib/seatschart/models/post_api_workspaces_by_workspace_id_actions_delete_request.rb +281 -0
- data/lib/seatschart/models/post_api_workspaces_by_workspace_id_invitations_request.rb +300 -0
- data/lib/seatschart/models/post_api_workspaces_by_workspace_id_keys201_response.rb +237 -0
- data/lib/seatschart/models/post_api_workspaces_by_workspace_id_keys201_response_api_key.rb +338 -0
- data/lib/seatschart/models/post_api_workspaces_by_workspace_id_keys_request.rb +299 -0
- data/lib/seatschart/models/post_api_workspaces_request.rb +101 -5
- data/lib/seatschart/models/post_api_workspaces_request_issue_key.rb +294 -0
- data/lib/seatschart/models/put_api_workspace_buyer_extra_data_request.rb +260 -0
- data/lib/seatschart/models/put_internal_status_notices_request.rb +242 -0
- data/lib/seatschart/models/put_internal_status_notices_request_notices_inner.rb +445 -0
- data/lib/seatschart/retry.rb +106 -7
- data/lib/seatschart/version.rb +1 -1
- data/lib/seatschart.rb +73 -3
- metadata +75 -5
- data/lib/seatschart/api/default_api.rb +0 -763
|
@@ -802,7 +802,7 @@ module SeatsChart
|
|
|
802
802
|
end
|
|
803
803
|
|
|
804
804
|
# Sign in with email and password
|
|
805
|
-
# Returns tokens, or a second step: `{ twoFactorRequired: true, pendingToken }` when the account has two-factor authentication (finish with `POST /auth/2fa/verify`), or `{ twoFactorEnrollmentRequired: true, pendingToken }` when the workspace requires 2FA and the account has none yet (`POST /auth/2fa/enroll/start` then `/enroll/confirm`). No session exists until the second step succeeds.
|
|
805
|
+
# Returns tokens, or a second step: `{ twoFactorRequired: true, pendingToken }` when the account has two-factor authentication (finish with `POST /auth/2fa/verify`), or `{ twoFactorEnrollmentRequired: true, pendingToken }` when the workspace requires 2FA and the account has none yet (`POST /auth/2fa/enroll/start` then `/enroll/confirm`). No session exists until the second step succeeds. An account that belongs to no workspace any more gets 403 `ERR_NO_WORKSPACE` with a single-use `newWorkspaceToken` (after its two-factor code, if it has 2FA): `POST /auth/new-workspace` starts a new workspace.
|
|
806
806
|
# @param post_api_auth_login_request [PostApiAuthLoginRequest]
|
|
807
807
|
# @param [Hash] opts the optional parameters
|
|
808
808
|
# @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.
|
|
@@ -813,7 +813,7 @@ module SeatsChart
|
|
|
813
813
|
end
|
|
814
814
|
|
|
815
815
|
# Sign in with email and password
|
|
816
|
-
# Returns tokens, or a second step: `{ twoFactorRequired: true, pendingToken }` when the account has two-factor authentication (finish with `POST /auth/2fa/verify`), or `{ twoFactorEnrollmentRequired: true, pendingToken }` when the workspace requires 2FA and the account has none yet (`POST /auth/2fa/enroll/start` then `/enroll/confirm`). No session exists until the second step succeeds.
|
|
816
|
+
# Returns tokens, or a second step: `{ twoFactorRequired: true, pendingToken }` when the account has two-factor authentication (finish with `POST /auth/2fa/verify`), or `{ twoFactorEnrollmentRequired: true, pendingToken }` when the workspace requires 2FA and the account has none yet (`POST /auth/2fa/enroll/start` then `/enroll/confirm`). No session exists until the second step succeeds. An account that belongs to no workspace any more gets 403 `ERR_NO_WORKSPACE` with a single-use `newWorkspaceToken` (after its two-factor code, if it has 2FA): `POST /auth/new-workspace` starts a new workspace.
|
|
817
817
|
# @param post_api_auth_login_request [PostApiAuthLoginRequest]
|
|
818
818
|
# @param [Hash] opts the optional parameters
|
|
819
819
|
# @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.
|
|
@@ -953,8 +953,85 @@ module SeatsChart
|
|
|
953
953
|
return data, status_code, headers
|
|
954
954
|
end
|
|
955
955
|
|
|
956
|
+
# Create a new workspace for an account that belongs to none
|
|
957
|
+
# An account removed from its last workspace signs in with the right password (and its two-factor code, if any) and gets 403 `ERR_NO_WORKSPACE` with a single-use `newWorkspaceToken` (5 minutes). This creates a new workspace with the account as its only admin and returns the session tokens. It never restores access to a former workspace; 409 when the account belongs to a workspace again. Written to the new workspace's audit log (`workspace.create`, `reason: no_workspace_left`).
|
|
958
|
+
# @param post_api_auth_new_workspace_request [PostApiAuthNewWorkspaceRequest]
|
|
959
|
+
# @param [Hash] opts the optional parameters
|
|
960
|
+
# @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.
|
|
961
|
+
# @return [nil]
|
|
962
|
+
def post_api_auth_new_workspace(post_api_auth_new_workspace_request, opts = {})
|
|
963
|
+
post_api_auth_new_workspace_with_http_info(post_api_auth_new_workspace_request, opts)
|
|
964
|
+
nil
|
|
965
|
+
end
|
|
966
|
+
|
|
967
|
+
# Create a new workspace for an account that belongs to none
|
|
968
|
+
# An account removed from its last workspace signs in with the right password (and its two-factor code, if any) and gets 403 `ERR_NO_WORKSPACE` with a single-use `newWorkspaceToken` (5 minutes). This creates a new workspace with the account as its only admin and returns the session tokens. It never restores access to a former workspace; 409 when the account belongs to a workspace again. Written to the new workspace's audit log (`workspace.create`, `reason: no_workspace_left`).
|
|
969
|
+
# @param post_api_auth_new_workspace_request [PostApiAuthNewWorkspaceRequest]
|
|
970
|
+
# @param [Hash] opts the optional parameters
|
|
971
|
+
# @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.
|
|
972
|
+
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
|
973
|
+
def post_api_auth_new_workspace_with_http_info(post_api_auth_new_workspace_request, opts = {})
|
|
974
|
+
if @api_client.config.debugging
|
|
975
|
+
@api_client.config.logger.debug 'Calling API: AuthApi.post_api_auth_new_workspace ...'
|
|
976
|
+
end
|
|
977
|
+
# verify the required parameter 'post_api_auth_new_workspace_request' is set
|
|
978
|
+
if @api_client.config.client_side_validation && post_api_auth_new_workspace_request.nil?
|
|
979
|
+
fail ArgumentError, "Missing the required parameter 'post_api_auth_new_workspace_request' when calling AuthApi.post_api_auth_new_workspace"
|
|
980
|
+
end
|
|
981
|
+
if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
|
|
982
|
+
fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling AuthApi.post_api_auth_new_workspace, the character length must be smaller than or equal to 255.'
|
|
983
|
+
end
|
|
984
|
+
|
|
985
|
+
if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length < 1
|
|
986
|
+
fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling AuthApi.post_api_auth_new_workspace, the character length must be great than or equal to 1.'
|
|
987
|
+
end
|
|
988
|
+
|
|
989
|
+
# resource path
|
|
990
|
+
local_var_path = '/api/auth/new-workspace'
|
|
991
|
+
|
|
992
|
+
# query parameters
|
|
993
|
+
query_params = opts[:query_params] || {}
|
|
994
|
+
|
|
995
|
+
# header parameters
|
|
996
|
+
header_params = opts[:header_params] || {}
|
|
997
|
+
# HTTP header 'Content-Type'
|
|
998
|
+
content_type = @api_client.select_header_content_type(['application/json', 'multipart/form-data', 'text/plain'])
|
|
999
|
+
if !content_type.nil?
|
|
1000
|
+
header_params['Content-Type'] = content_type
|
|
1001
|
+
end
|
|
1002
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
|
1003
|
+
|
|
1004
|
+
# form parameters
|
|
1005
|
+
form_params = opts[:form_params] || {}
|
|
1006
|
+
|
|
1007
|
+
# http body (model)
|
|
1008
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(post_api_auth_new_workspace_request)
|
|
1009
|
+
|
|
1010
|
+
# return_type
|
|
1011
|
+
return_type = opts[:debug_return_type]
|
|
1012
|
+
|
|
1013
|
+
# auth_names
|
|
1014
|
+
auth_names = opts[:debug_auth_names] || []
|
|
1015
|
+
|
|
1016
|
+
new_options = opts.merge(
|
|
1017
|
+
:operation => :"AuthApi.post_api_auth_new_workspace",
|
|
1018
|
+
:header_params => header_params,
|
|
1019
|
+
:query_params => query_params,
|
|
1020
|
+
:form_params => form_params,
|
|
1021
|
+
:body => post_body,
|
|
1022
|
+
:auth_names => auth_names,
|
|
1023
|
+
:return_type => return_type
|
|
1024
|
+
)
|
|
1025
|
+
|
|
1026
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1027
|
+
if @api_client.config.debugging
|
|
1028
|
+
@api_client.config.logger.debug "API called: AuthApi#post_api_auth_new_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1029
|
+
end
|
|
1030
|
+
return data, status_code, headers
|
|
1031
|
+
end
|
|
1032
|
+
|
|
956
1033
|
# Rotate refresh token and issue new access JWT
|
|
957
|
-
# Consumes a one-time refresh token (Redis), revokes it, and returns a new refresh + access pair. Use `audience: viewer` for B2C embed tokens.
|
|
1034
|
+
# Consumes a one-time refresh token (Redis), revokes it, and returns a new refresh + access pair. Use `audience: viewer` for B2C embed tokens. Dashboard access tokens live one hour (`expiresIn`, seconds) and viewer tokens two hours; the refresh token lives 30 days and every renewal checks workspace membership and the 2FA policy again.
|
|
958
1035
|
# @param post_api_auth_refresh_request [PostApiAuthRefreshRequest]
|
|
959
1036
|
# @param [Hash] opts the optional parameters
|
|
960
1037
|
# @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.
|
|
@@ -965,7 +1042,7 @@ module SeatsChart
|
|
|
965
1042
|
end
|
|
966
1043
|
|
|
967
1044
|
# Rotate refresh token and issue new access JWT
|
|
968
|
-
# Consumes a one-time refresh token (Redis), revokes it, and returns a new refresh + access pair. Use `audience: viewer` for B2C embed tokens.
|
|
1045
|
+
# Consumes a one-time refresh token (Redis), revokes it, and returns a new refresh + access pair. Use `audience: viewer` for B2C embed tokens. Dashboard access tokens live one hour (`expiresIn`, seconds) and viewer tokens two hours; the refresh token lives 30 days and every renewal checks workspace membership and the 2FA policy again.
|
|
969
1046
|
# @param post_api_auth_refresh_request [PostApiAuthRefreshRequest]
|
|
970
1047
|
# @param [Hash] opts the optional parameters
|
|
971
1048
|
# @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.
|
|
@@ -20,6 +20,7 @@ module SeatsChart
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Get billing status and plan usage
|
|
23
|
+
# Plan, subscription, usage against the limits and the plan catalogue. `managedByPlatform` is true for a workspace a ticketing platform provisioned with its workspace admin key: it is billed to the platform account, so only that platform admin may open checkout or the billing portal (`canManageBilling`); everyone else gets 403 `billing_managed_by_platform` there, and plan-limit refusals carry `billingManagedByPlatform: true` instead of an upgrade prompt.
|
|
23
24
|
# @param [Hash] opts the optional parameters
|
|
24
25
|
# @return [nil]
|
|
25
26
|
def get_api_billing(opts = {})
|
|
@@ -28,6 +29,7 @@ module SeatsChart
|
|
|
28
29
|
end
|
|
29
30
|
|
|
30
31
|
# Get billing status and plan usage
|
|
32
|
+
# Plan, subscription, usage against the limits and the plan catalogue. `managedByPlatform` is true for a workspace a ticketing platform provisioned with its workspace admin key: it is billed to the platform account, so only that platform admin may open checkout or the billing portal (`canManageBilling`); everyone else gets 403 `billing_managed_by_platform` there, and plan-limit refusals carry `billingManagedByPlatform: true` instead of an upgrade prompt.
|
|
31
33
|
# @param [Hash] opts the optional parameters
|
|
32
34
|
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
|
33
35
|
def get_api_billing_with_http_info(opts = {})
|
|
@@ -73,6 +75,7 @@ module SeatsChart
|
|
|
73
75
|
end
|
|
74
76
|
|
|
75
77
|
# Create Stripe Checkout session for a paid plan
|
|
78
|
+
# Returns `{ url }` of a Stripe Checkout for `planId` (`starter` | `pro`). 409 `ERR_SUBSCRIPTION_EXISTS` when the workspace already has a live subscription (change plans in the billing portal: `POST /billing/portal-session`), 409 `test_workspace_not_billable` in a test workspace, 400 `plan_requires_sales` for `ultra` (Ultra On-Demand is arranged with the SeatsChart team), 409 `plan_managed_by_sales` on an Ultra On-Demand workspace,503 `stripe_not_configured` when billing is not set up.
|
|
76
79
|
# @param post_api_billing_checkout_session_request [PostApiBillingCheckoutSessionRequest]
|
|
77
80
|
# @param [Hash] opts the optional parameters
|
|
78
81
|
# @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.
|
|
@@ -83,6 +86,7 @@ module SeatsChart
|
|
|
83
86
|
end
|
|
84
87
|
|
|
85
88
|
# Create Stripe Checkout session for a paid plan
|
|
89
|
+
# Returns `{ url }` of a Stripe Checkout for `planId` (`starter` | `pro`). 409 `ERR_SUBSCRIPTION_EXISTS` when the workspace already has a live subscription (change plans in the billing portal: `POST /billing/portal-session`), 409 `test_workspace_not_billable` in a test workspace, 400 `plan_requires_sales` for `ultra` (Ultra On-Demand is arranged with the SeatsChart team), 409 `plan_managed_by_sales` on an Ultra On-Demand workspace,503 `stripe_not_configured` when billing is not set up.
|
|
86
90
|
# @param post_api_billing_checkout_session_request [PostApiBillingCheckoutSessionRequest]
|
|
87
91
|
# @param [Hash] opts the optional parameters
|
|
88
92
|
# @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.
|