api-sdk-rb 1.11.66 → 1.11.111

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 (317) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +192 -9
  3. data/docs/AdapterConnection.md +7 -1
  4. data/docs/BrandColor.md +22 -0
  5. data/docs/BrandFont.md +24 -0
  6. data/docs/BrandKitApi.md +593 -0
  7. data/docs/BrandKitAssetView.md +42 -0
  8. data/docs/BrandKitFigmaSource.md +26 -0
  9. data/docs/BrandKitTokens.md +24 -0
  10. data/docs/BrandKitTokensFonts.md +24 -0
  11. data/docs/BrandKitView.md +36 -0
  12. data/docs/BrandKitViewOwner.md +20 -0
  13. data/docs/BrandKitViewResponse.md +22 -0
  14. data/docs/BrandSpacing.md +32 -0
  15. data/docs/Composition.md +5 -1
  16. data/docs/CompositionLastEditedBy.md +20 -0
  17. data/docs/CompositionsApi.md +217 -135
  18. data/docs/ConfirmAdapterConnectionRequest.md +18 -0
  19. data/docs/CreateWidget201ResponseData.md +2 -4
  20. data/docs/CreateWorkspaceWorkflowFromPreset201Response.md +22 -0
  21. data/docs/CreateWorkspaceWorkflowFromPresetRequest.md +20 -0
  22. data/docs/CreateWorkspaceWorkflowRequest.md +22 -0
  23. data/docs/DeleteWorkspaceWorkflow200Response.md +22 -0
  24. data/docs/GetPublicCompositionEmbed200Response.md +7 -1
  25. data/docs/GetPublicCompositionEmbed200ResponseAdapters.md +20 -0
  26. data/docs/GetPublicCompositionEmbed200ResponseAdaptersCaptcha.md +18 -0
  27. data/docs/GetPublicCompositionEmbed200ResponseEntries.md +20 -0
  28. data/docs/GetPublicCompositionEmbed200ResponseMedia.md +18 -0
  29. data/docs/GetPublicWorkflow200Response.md +22 -0
  30. data/docs/GetWorkspaceWorkflowStats200Response.md +22 -0
  31. data/docs/GetWorkspaceWorkflowVersion200Response.md +22 -0
  32. data/docs/ListPartnerWorkflowPresets200Response.md +22 -0
  33. data/docs/ListWorkspaceWorkflowCompositionOptions200Response.md +22 -0
  34. data/docs/ListWorkspaceWorkflowPresets200Response.md +22 -0
  35. data/docs/ListWorkspaceWorkflowVersions200Response.md +22 -0
  36. data/docs/ListWorkspaceWorkflows200Response.md +22 -0
  37. data/docs/ManagedUsersApi.md +1 -1
  38. data/docs/NewComposition.md +1 -1
  39. data/docs/NewEditorSession.md +1 -1
  40. data/docs/OfferWorkflowPresetRequest.md +24 -0
  41. data/docs/OfferedWorkflowPreset.md +40 -0
  42. data/docs/OfferedWorkflowPresetList.md +18 -0
  43. data/docs/OfferedWorkflowPresetWidget.md +22 -0
  44. data/docs/PartnerApi.md +3360 -538
  45. data/docs/PartnerCustomization.md +2 -2
  46. data/docs/PartnerNotification.md +1 -1
  47. data/docs/PartnersApi.md +294 -2
  48. data/docs/PatchBrandKitAssetRequest.md +24 -0
  49. data/docs/PatchBrandKitRequest.md +28 -0
  50. data/docs/PatchBrandKitRequestFonts.md +24 -0
  51. data/docs/PatchBrandKitRequestSpacing.md +32 -0
  52. data/docs/PostBrandKitIconRequest.md +20 -0
  53. data/docs/PublicEmbedApi.md +270 -4
  54. data/docs/PublicWorkflow.md +36 -0
  55. data/docs/PublicWorkflowEventsAccepted.md +22 -0
  56. data/docs/PublicWorkflowEventsRequest.md +24 -0
  57. data/docs/PublicWorkflowEventsRequestEventsInner.md +22 -0
  58. data/docs/PublicWorkflowEventsRequestHeightsInner.md +20 -0
  59. data/docs/PublicWorkflowTranslation.md +20 -0
  60. data/docs/PublishWorkspaceWorkflow200Response.md +22 -0
  61. data/docs/PublishWorkspaceWorkflowRequest.md +18 -0
  62. data/docs/PutBrandKitRequest.md +22 -0
  63. data/docs/RemovePartnerWorkflowPreset200Response.md +22 -0
  64. data/docs/ReportPublicWorkflowEvents200Response.md +22 -0
  65. data/docs/SaveWorkspaceWorkflow200Response.md +22 -0
  66. data/docs/SaveWorkspaceWorkflowRequest.md +24 -0
  67. data/docs/SetAdapterConnectionRequest.md +1 -1
  68. data/docs/SetPartnerWorkflowPreset200Response.md +22 -0
  69. data/docs/UpdateComposition.md +1 -1
  70. data/docs/UsersApi.md +77 -1
  71. data/docs/Widget.md +2 -4
  72. data/docs/Workflow.md +50 -0
  73. data/docs/WorkflowCompositionAction.md +24 -0
  74. data/docs/WorkflowCompositionField.md +24 -0
  75. data/docs/WorkflowCompositionOption.md +30 -0
  76. data/docs/WorkflowCompositionOptionActions.md +22 -0
  77. data/docs/WorkflowCompositionOptionInputs.md +24 -0
  78. data/docs/WorkflowCompositionOptions.md +24 -0
  79. data/docs/WorkflowConditionCase.md +24 -0
  80. data/docs/WorkflowConditionTest.md +22 -0
  81. data/docs/WorkflowCounter.md +20 -0
  82. data/docs/WorkflowDetail.md +60 -0
  83. data/docs/WorkflowDetailAllOfLastEditedBy.md +20 -0
  84. data/docs/WorkflowEdge.md +24 -0
  85. data/docs/WorkflowFieldReference.md +22 -0
  86. data/docs/WorkflowGraph.md +22 -0
  87. data/docs/WorkflowIssue.md +28 -0
  88. data/docs/WorkflowList.md +24 -0
  89. data/docs/WorkflowNode.md +30 -0
  90. data/docs/WorkflowNodePosition.md +20 -0
  91. data/docs/WorkflowPresetChoice.md +26 -0
  92. data/docs/WorkflowPresetChoices.md +18 -0
  93. data/docs/WorkflowPresetRemoval.md +18 -0
  94. data/docs/WorkflowPresetWidget.md +20 -0
  95. data/docs/WorkflowPublishResult.md +22 -0
  96. data/docs/WorkflowRemoved.md +18 -0
  97. data/docs/WorkflowSchedule.md +24 -0
  98. data/docs/WorkflowStats.md +32 -0
  99. data/docs/WorkflowStatus.md +15 -0
  100. data/docs/WorkflowTrigger.md +28 -0
  101. data/docs/WorkflowTriggerValuesInner.md +20 -0
  102. data/docs/WorkflowVersion.md +28 -0
  103. data/docs/WorkflowVersionDetail.md +32 -0
  104. data/docs/WorkflowVersionList.md +18 -0
  105. data/docs/WorkflowVersionPublishedBy.md +20 -0
  106. data/docs/WorkflowsApi.md +1743 -0
  107. data/docs/WorkspacesApi.md +1527 -0
  108. data/lib/api-sdk-rb/api/brand_kit_api.rb +581 -0
  109. data/lib/api-sdk-rb/api/compositions_api.rb +237 -138
  110. data/lib/api-sdk-rb/api/managed_users_api.rb +2 -2
  111. data/lib/api-sdk-rb/api/partner_api.rb +3907 -809
  112. data/lib/api-sdk-rb/api/partners_api.rb +320 -4
  113. data/lib/api-sdk-rb/api/public_embed_api.rb +283 -6
  114. data/lib/api-sdk-rb/api/users_api.rb +96 -2
  115. data/lib/api-sdk-rb/api/workflows_api.rb +1997 -0
  116. data/lib/api-sdk-rb/api/workspaces_api.rb +1775 -0
  117. data/lib/api-sdk-rb/configuration.rb +50 -2
  118. data/lib/api-sdk-rb/models/adapter_connection.rb +48 -5
  119. data/lib/api-sdk-rb/models/brand_color.rb +329 -0
  120. data/lib/api-sdk-rb/models/brand_font.rb +357 -0
  121. data/lib/api-sdk-rb/models/brand_kit_asset_view.rb +409 -0
  122. data/lib/api-sdk-rb/models/brand_kit_figma_source.rb +277 -0
  123. data/lib/api-sdk-rb/models/brand_kit_tokens.rb +304 -0
  124. data/lib/api-sdk-rb/models/brand_kit_tokens_fonts.rb +241 -0
  125. data/lib/api-sdk-rb/models/brand_kit_view.rb +344 -0
  126. data/lib/api-sdk-rb/models/brand_kit_view_owner.rb +267 -0
  127. data/lib/api-sdk-rb/models/brand_kit_view_response.rb +247 -0
  128. data/lib/api-sdk-rb/models/brand_spacing.rb +557 -0
  129. data/lib/api-sdk-rb/models/composition.rb +26 -5
  130. data/lib/api-sdk-rb/models/composition_last_edited_by.rb +242 -0
  131. data/lib/api-sdk-rb/models/confirm_adapter_connection_request.rb +241 -0
  132. data/lib/api-sdk-rb/models/create_widget201_response_data.rb +9 -20
  133. data/lib/api-sdk-rb/models/create_workspace_workflow_from_preset201_response.rb +246 -0
  134. data/lib/api-sdk-rb/models/create_workspace_workflow_from_preset_request.rb +278 -0
  135. data/lib/api-sdk-rb/models/create_workspace_workflow_request.rb +271 -0
  136. data/lib/api-sdk-rb/models/delete_workspace_workflow200_response.rb +246 -0
  137. data/lib/api-sdk-rb/models/get_public_composition_embed200_response.rb +29 -2
  138. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_adapters.rb +225 -0
  139. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_adapters_captcha.rb +216 -0
  140. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_entries.rb +224 -0
  141. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_media.rb +216 -0
  142. data/lib/api-sdk-rb/models/get_public_workflow200_response.rb +246 -0
  143. data/lib/api-sdk-rb/models/get_workspace_workflow_stats200_response.rb +246 -0
  144. data/lib/api-sdk-rb/models/get_workspace_workflow_version200_response.rb +246 -0
  145. data/lib/api-sdk-rb/models/list_partner_workflow_presets200_response.rb +246 -0
  146. data/lib/api-sdk-rb/models/list_workspace_workflow_composition_options200_response.rb +246 -0
  147. data/lib/api-sdk-rb/models/list_workspace_workflow_presets200_response.rb +246 -0
  148. data/lib/api-sdk-rb/models/list_workspace_workflow_versions200_response.rb +246 -0
  149. data/lib/api-sdk-rb/models/list_workspace_workflows200_response.rb +246 -0
  150. data/lib/api-sdk-rb/models/new_composition.rb +1 -1
  151. data/lib/api-sdk-rb/models/new_editor_session.rb +1 -1
  152. data/lib/api-sdk-rb/models/offer_workflow_preset_request.rb +322 -0
  153. data/lib/api-sdk-rb/models/offered_workflow_preset.rb +423 -0
  154. data/lib/api-sdk-rb/models/offered_workflow_preset_list.rb +223 -0
  155. data/lib/api-sdk-rb/models/offered_workflow_preset_widget.rb +251 -0
  156. data/lib/api-sdk-rb/models/partner_notification.rb +1 -1
  157. data/lib/api-sdk-rb/models/partner_notification_event_type.rb +5 -1
  158. data/lib/api-sdk-rb/models/patch_brand_kit_asset_request.rb +289 -0
  159. data/lib/api-sdk-rb/models/patch_brand_kit_request.rb +332 -0
  160. data/lib/api-sdk-rb/models/patch_brand_kit_request_fonts.rb +242 -0
  161. data/lib/api-sdk-rb/models/patch_brand_kit_request_spacing.rb +502 -0
  162. data/lib/api-sdk-rb/models/post_brand_kit_icon_request.rb +237 -0
  163. data/lib/api-sdk-rb/models/public_workflow.rb +351 -0
  164. data/lib/api-sdk-rb/models/public_workflow_events_accepted.rb +242 -0
  165. data/lib/api-sdk-rb/models/public_workflow_events_request.rb +301 -0
  166. data/lib/api-sdk-rb/models/public_workflow_events_request_events_inner.rb +332 -0
  167. data/lib/api-sdk-rb/models/public_workflow_events_request_heights_inner.rb +267 -0
  168. data/lib/api-sdk-rb/models/public_workflow_translation.rb +242 -0
  169. data/lib/api-sdk-rb/models/publish_workspace_workflow200_response.rb +246 -0
  170. data/lib/api-sdk-rb/models/publish_workspace_workflow_request.rb +240 -0
  171. data/lib/api-sdk-rb/models/put_brand_kit_request.rb +239 -0
  172. data/lib/api-sdk-rb/models/remove_partner_workflow_preset200_response.rb +246 -0
  173. data/lib/api-sdk-rb/models/report_public_workflow_events200_response.rb +246 -0
  174. data/lib/api-sdk-rb/models/save_workspace_workflow200_response.rb +246 -0
  175. data/lib/api-sdk-rb/models/save_workspace_workflow_request.rb +296 -0
  176. data/lib/api-sdk-rb/models/set_adapter_connection_request.rb +1 -1
  177. data/lib/api-sdk-rb/models/set_partner_workflow_preset200_response.rb +246 -0
  178. data/lib/api-sdk-rb/models/update_composition.rb +1 -1
  179. data/lib/api-sdk-rb/models/widget.rb +9 -20
  180. data/lib/api-sdk-rb/models/workflow.rb +509 -0
  181. data/lib/api-sdk-rb/models/workflow_composition_action.rb +266 -0
  182. data/lib/api-sdk-rb/models/workflow_composition_field.rb +303 -0
  183. data/lib/api-sdk-rb/models/workflow_composition_option.rb +316 -0
  184. data/lib/api-sdk-rb/models/workflow_composition_option_actions.rb +284 -0
  185. data/lib/api-sdk-rb/models/workflow_composition_option_inputs.rb +304 -0
  186. data/lib/api-sdk-rb/models/workflow_composition_options.rb +271 -0
  187. data/lib/api-sdk-rb/models/workflow_condition_case.rb +322 -0
  188. data/lib/api-sdk-rb/models/workflow_condition_test.rb +284 -0
  189. data/lib/api-sdk-rb/models/workflow_counter.rb +238 -0
  190. data/lib/api-sdk-rb/models/workflow_detail.rb +580 -0
  191. data/lib/api-sdk-rb/models/workflow_detail_all_of_last_edited_by.rb +242 -0
  192. data/lib/api-sdk-rb/models/workflow_edge.rb +292 -0
  193. data/lib/api-sdk-rb/models/workflow_field_reference.rb +300 -0
  194. data/lib/api-sdk-rb/models/workflow_graph.rb +330 -0
  195. data/lib/api-sdk-rb/models/workflow_issue.rb +309 -0
  196. data/lib/api-sdk-rb/models/workflow_list.rb +271 -0
  197. data/lib/api-sdk-rb/models/workflow_node.rb +343 -0
  198. data/lib/api-sdk-rb/models/workflow_node_position.rb +238 -0
  199. data/lib/api-sdk-rb/models/workflow_preset_choice.rb +288 -0
  200. data/lib/api-sdk-rb/models/workflow_preset_choices.rb +224 -0
  201. data/lib/api-sdk-rb/models/workflow_preset_removal.rb +222 -0
  202. data/lib/api-sdk-rb/models/workflow_preset_widget.rb +234 -0
  203. data/lib/api-sdk-rb/models/workflow_publish_result.rb +256 -0
  204. data/lib/api-sdk-rb/models/workflow_removed.rb +221 -0
  205. data/lib/api-sdk-rb/models/workflow_schedule.rb +298 -0
  206. data/lib/api-sdk-rb/models/workflow_stats.rb +335 -0
  207. data/lib/api-sdk-rb/models/workflow_status.rb +42 -0
  208. data/lib/api-sdk-rb/models/workflow_trigger.rb +303 -0
  209. data/lib/api-sdk-rb/models/workflow_trigger_values_inner.rb +271 -0
  210. data/lib/api-sdk-rb/models/workflow_version.rb +316 -0
  211. data/lib/api-sdk-rb/models/workflow_version_detail.rb +354 -0
  212. data/lib/api-sdk-rb/models/workflow_version_list.rb +224 -0
  213. data/lib/api-sdk-rb/models/workflow_version_published_by.rb +225 -0
  214. data/lib/api-sdk-rb/version.rb +1 -1
  215. data/lib/api-sdk-rb.rb +88 -0
  216. data/spec/api/brand_kit_api_spec.rb +136 -0
  217. data/spec/api/compositions_api_spec.rb +86 -69
  218. data/spec/api/managed_users_api_spec.rb +1 -1
  219. data/spec/api/partner_api_spec.rb +624 -82
  220. data/spec/api/partners_api_spec.rb +56 -2
  221. data/spec/api/public_embed_api_spec.rb +54 -3
  222. data/spec/api/users_api_spec.rb +16 -1
  223. data/spec/api/workflows_api_spec.rb +378 -0
  224. data/spec/api/workspaces_api_spec.rb +339 -0
  225. data/spec/models/adapter_connection_spec.rb +18 -0
  226. data/spec/models/brand_color_spec.rb +52 -0
  227. data/spec/models/brand_font_spec.rb +62 -0
  228. data/spec/models/brand_kit_asset_view_spec.rb +120 -0
  229. data/spec/models/brand_kit_figma_source_spec.rb +60 -0
  230. data/spec/models/brand_kit_tokens_fonts_spec.rb +54 -0
  231. data/spec/models/brand_kit_tokens_spec.rb +54 -0
  232. data/spec/models/brand_kit_view_owner_spec.rb +46 -0
  233. data/spec/models/brand_kit_view_response_spec.rb +48 -0
  234. data/spec/models/brand_kit_view_spec.rb +90 -0
  235. data/spec/models/brand_spacing_spec.rb +78 -0
  236. data/spec/models/composition_last_edited_by_spec.rb +42 -0
  237. data/spec/models/composition_spec.rb +12 -0
  238. data/spec/models/confirm_adapter_connection_request_spec.rb +36 -0
  239. data/spec/models/create_widget201_response_data_spec.rb +1 -7
  240. data/spec/models/create_workspace_workflow_from_preset201_response_spec.rb +48 -0
  241. data/spec/models/create_workspace_workflow_from_preset_request_spec.rb +42 -0
  242. data/spec/models/create_workspace_workflow_request_spec.rb +48 -0
  243. data/spec/models/delete_workspace_workflow200_response_spec.rb +48 -0
  244. data/spec/models/editor_session_spec.rb +1 -1
  245. data/spec/models/get_public_composition_embed200_response_adapters_captcha_spec.rb +36 -0
  246. data/spec/models/get_public_composition_embed200_response_adapters_spec.rb +42 -0
  247. data/spec/models/get_public_composition_embed200_response_entries_spec.rb +42 -0
  248. data/spec/models/get_public_composition_embed200_response_media_spec.rb +36 -0
  249. data/spec/models/get_public_composition_embed200_response_spec.rb +18 -0
  250. data/spec/models/get_public_workflow200_response_spec.rb +48 -0
  251. data/spec/models/get_workspace_workflow_stats200_response_spec.rb +48 -0
  252. data/spec/models/get_workspace_workflow_version200_response_spec.rb +48 -0
  253. data/spec/models/list_partner_workflow_presets200_response_spec.rb +48 -0
  254. data/spec/models/list_workspace_workflow_composition_options200_response_spec.rb +48 -0
  255. data/spec/models/list_workspace_workflow_presets200_response_spec.rb +48 -0
  256. data/spec/models/list_workspace_workflow_versions200_response_spec.rb +48 -0
  257. data/spec/models/list_workspace_workflows200_response_spec.rb +48 -0
  258. data/spec/models/new_editor_session_spec.rb +1 -1
  259. data/spec/models/offer_workflow_preset_request_spec.rb +54 -0
  260. data/spec/models/offered_workflow_preset_list_spec.rb +36 -0
  261. data/spec/models/offered_workflow_preset_spec.rb +106 -0
  262. data/spec/models/offered_workflow_preset_widget_spec.rb +48 -0
  263. data/spec/models/patch_brand_kit_asset_request_spec.rb +62 -0
  264. data/spec/models/patch_brand_kit_request_fonts_spec.rb +54 -0
  265. data/spec/models/patch_brand_kit_request_spacing_spec.rb +78 -0
  266. data/spec/models/patch_brand_kit_request_spec.rb +66 -0
  267. data/spec/models/post_brand_kit_icon_request_spec.rb +42 -0
  268. data/spec/models/public_workflow_events_accepted_spec.rb +48 -0
  269. data/spec/models/public_workflow_events_request_events_inner_spec.rb +52 -0
  270. data/spec/models/public_workflow_events_request_heights_inner_spec.rb +42 -0
  271. data/spec/models/public_workflow_events_request_spec.rb +54 -0
  272. data/spec/models/public_workflow_spec.rb +94 -0
  273. data/spec/models/public_workflow_translation_spec.rb +42 -0
  274. data/spec/models/publish_workspace_workflow200_response_spec.rb +48 -0
  275. data/spec/models/publish_workspace_workflow_request_spec.rb +36 -0
  276. data/spec/models/put_brand_kit_request_spec.rb +48 -0
  277. data/spec/models/remove_partner_workflow_preset200_response_spec.rb +48 -0
  278. data/spec/models/report_public_workflow_events200_response_spec.rb +48 -0
  279. data/spec/models/save_workspace_workflow200_response_spec.rb +48 -0
  280. data/spec/models/save_workspace_workflow_request_spec.rb +54 -0
  281. data/spec/models/set_partner_workflow_preset200_response_spec.rb +48 -0
  282. data/spec/models/widget_spec.rb +1 -7
  283. data/spec/models/workflow_composition_action_spec.rb +54 -0
  284. data/spec/models/workflow_composition_field_spec.rb +58 -0
  285. data/spec/models/workflow_composition_option_actions_spec.rb +52 -0
  286. data/spec/models/workflow_composition_option_inputs_spec.rb +58 -0
  287. data/spec/models/workflow_composition_option_spec.rb +72 -0
  288. data/spec/models/workflow_composition_options_spec.rb +54 -0
  289. data/spec/models/workflow_condition_case_spec.rb +58 -0
  290. data/spec/models/workflow_condition_test_spec.rb +52 -0
  291. data/spec/models/workflow_counter_spec.rb +42 -0
  292. data/spec/models/workflow_detail_all_of_last_edited_by_spec.rb +42 -0
  293. data/spec/models/workflow_detail_spec.rb +162 -0
  294. data/spec/models/workflow_edge_spec.rb +54 -0
  295. data/spec/models/workflow_field_reference_spec.rb +56 -0
  296. data/spec/models/workflow_graph_spec.rb +52 -0
  297. data/spec/models/workflow_issue_spec.rb +70 -0
  298. data/spec/models/workflow_list_spec.rb +54 -0
  299. data/spec/models/workflow_node_position_spec.rb +42 -0
  300. data/spec/models/workflow_node_spec.rb +76 -0
  301. data/spec/models/workflow_preset_choice_spec.rb +60 -0
  302. data/spec/models/workflow_preset_choices_spec.rb +36 -0
  303. data/spec/models/workflow_preset_removal_spec.rb +36 -0
  304. data/spec/models/workflow_preset_widget_spec.rb +42 -0
  305. data/spec/models/workflow_publish_result_spec.rb +48 -0
  306. data/spec/models/workflow_removed_spec.rb +36 -0
  307. data/spec/models/workflow_schedule_spec.rb +62 -0
  308. data/spec/models/workflow_spec.rb +132 -0
  309. data/spec/models/workflow_stats_spec.rb +78 -0
  310. data/spec/models/workflow_status_spec.rb +30 -0
  311. data/spec/models/workflow_trigger_spec.rb +70 -0
  312. data/spec/models/workflow_trigger_values_inner_spec.rb +46 -0
  313. data/spec/models/workflow_version_detail_spec.rb +78 -0
  314. data/spec/models/workflow_version_list_spec.rb +36 -0
  315. data/spec/models/workflow_version_published_by_spec.rb +42 -0
  316. data/spec/models/workflow_version_spec.rb +66 -0
  317. metadata +364 -12
@@ -19,8 +19,102 @@ module ApiSdkRb
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
+ # Confirm a partner's adapter address with the code that was emailed to it
23
+ # Some credentials are an email address Widgetic sends a widget's messages to (`confirmation: email_code` in `getPartnerAdapterConnections`). Saving one with `setPartnerAdapterConnection` emails a six-digit code to it; this gives the code back. Only then is the address used: until it is confirmed, the widgets of the partner's customers that need it are not charged and their visitors are told the feature is unavailable. The code works for 30 minutes and for five wrong tries. After that, save the address again and a new code is emailed (not sooner than a minute after the last one). A code that is not made of digits is refused without counting as a try. Confirming an address that is already confirmed answers 200 with the same state, so a retry of a request that went through is harmless. Saving a different address, or the same one before it was confirmed, starts again. This needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator.
24
+ # @param partner_id [String] The partner that keeps the address
25
+ # @param adapter_id [String] The adapter the address is for
26
+ # @param credential_key [String] The credential's name within the adapter
27
+ # @param confirm_adapter_connection_request [ConfirmAdapterConnectionRequest]
28
+ # @param [Hash] opts the optional parameters
29
+ # @return [SetUserAdapterConnection200Response]
30
+ def confirm_partner_adapter_connection_0(partner_id, adapter_id, credential_key, confirm_adapter_connection_request, opts = {})
31
+ data, _status_code, _headers = confirm_partner_adapter_connection_0_with_http_info(partner_id, adapter_id, credential_key, confirm_adapter_connection_request, opts)
32
+ data
33
+ end
34
+
35
+ # Confirm a partner's adapter address with the code that was emailed to it
36
+ # Some credentials are an email address Widgetic sends a widget's messages to (`confirmation: email_code` in `getPartnerAdapterConnections`). Saving one with `setPartnerAdapterConnection` emails a six-digit code to it; this gives the code back. Only then is the address used: until it is confirmed, the widgets of the partner's customers that need it are not charged and their visitors are told the feature is unavailable. The code works for 30 minutes and for five wrong tries. After that, save the address again and a new code is emailed (not sooner than a minute after the last one). A code that is not made of digits is refused without counting as a try. Confirming an address that is already confirmed answers 200 with the same state, so a retry of a request that went through is harmless. Saving a different address, or the same one before it was confirmed, starts again. This needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator.
37
+ # @param partner_id [String] The partner that keeps the address
38
+ # @param adapter_id [String] The adapter the address is for
39
+ # @param credential_key [String] The credential's name within the adapter
40
+ # @param confirm_adapter_connection_request [ConfirmAdapterConnectionRequest]
41
+ # @param [Hash] opts the optional parameters
42
+ # @return [Array<(SetUserAdapterConnection200Response, Integer, Hash)>] SetUserAdapterConnection200Response data, response status code and response headers
43
+ def confirm_partner_adapter_connection_0_with_http_info(partner_id, adapter_id, credential_key, confirm_adapter_connection_request, opts = {})
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: PartnersApi.confirm_partner_adapter_connection_0 ...'
46
+ end
47
+ # verify the required parameter 'partner_id' is set
48
+ if @api_client.config.client_side_validation && partner_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'partner_id' when calling PartnersApi.confirm_partner_adapter_connection_0"
50
+ end
51
+ # verify the required parameter 'adapter_id' is set
52
+ if @api_client.config.client_side_validation && adapter_id.nil?
53
+ fail ArgumentError, "Missing the required parameter 'adapter_id' when calling PartnersApi.confirm_partner_adapter_connection_0"
54
+ end
55
+ if @api_client.config.client_side_validation && adapter_id.to_s.length > 40
56
+ fail ArgumentError, 'invalid value for "adapter_id" when calling PartnersApi.confirm_partner_adapter_connection_0, the character length must be smaller than or equal to 40.'
57
+ end
58
+
59
+ # verify the required parameter 'credential_key' is set
60
+ if @api_client.config.client_side_validation && credential_key.nil?
61
+ fail ArgumentError, "Missing the required parameter 'credential_key' when calling PartnersApi.confirm_partner_adapter_connection_0"
62
+ end
63
+ if @api_client.config.client_side_validation && credential_key.to_s.length > 40
64
+ fail ArgumentError, 'invalid value for "credential_key" when calling PartnersApi.confirm_partner_adapter_connection_0, the character length must be smaller than or equal to 40.'
65
+ end
66
+
67
+ # verify the required parameter 'confirm_adapter_connection_request' is set
68
+ if @api_client.config.client_side_validation && confirm_adapter_connection_request.nil?
69
+ fail ArgumentError, "Missing the required parameter 'confirm_adapter_connection_request' when calling PartnersApi.confirm_partner_adapter_connection_0"
70
+ end
71
+ # resource path
72
+ local_var_path = '/partners/{partnerId}/adapter-connections/{adapterId}/{credentialKey}/confirm'.sub('{' + 'partnerId' + '}', CGI.escape(partner_id.to_s)).sub('{' + 'adapterId' + '}', CGI.escape(adapter_id.to_s)).sub('{' + 'credentialKey' + '}', CGI.escape(credential_key.to_s))
73
+
74
+ # query parameters
75
+ query_params = opts[:query_params] || {}
76
+
77
+ # header parameters
78
+ header_params = opts[:header_params] || {}
79
+ # HTTP header 'Accept' (if needed)
80
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
81
+ # HTTP header 'Content-Type'
82
+ content_type = @api_client.select_header_content_type(['application/json'])
83
+ if !content_type.nil?
84
+ header_params['Content-Type'] = content_type
85
+ end
86
+
87
+ # form parameters
88
+ form_params = opts[:form_params] || {}
89
+
90
+ # http body (model)
91
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(confirm_adapter_connection_request)
92
+
93
+ # return_type
94
+ return_type = opts[:debug_return_type] || 'SetUserAdapterConnection200Response'
95
+
96
+ # auth_names
97
+ auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
98
+
99
+ new_options = opts.merge(
100
+ :operation => :"PartnersApi.confirm_partner_adapter_connection_0",
101
+ :header_params => header_params,
102
+ :query_params => query_params,
103
+ :form_params => form_params,
104
+ :body => post_body,
105
+ :auth_names => auth_names,
106
+ :return_type => return_type
107
+ )
108
+
109
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug "API called: PartnersApi#confirm_partner_adapter_connection_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
112
+ end
113
+ return data, status_code, headers
114
+ end
115
+
22
116
  # Buy extra credits for a partner
23
- # Asks Widgetic for an invoice for extra credits, on top of the credits of the contract. Name the dollars; the invoice is for the most whole credits they buy at the **list price** of a credit (the price a contract may lower belongs to the contract), so it is never for more than you asked: 12.34 buys 123 credits and the invoice says 12.30. The smallest purchase is 10 dollars and one request buys at most 100000 (ask Widgetic for an invoice for more). Pay the invoice with the link in the answer. When it is paid the credits are added **once, for good**, to the account of the person who administers the partner, which is the account everything the partner builds is charged to (`getPartnerCreditBalance` shows it). Extra credits **do not expire**, unlike the credits of a contract period, which end with it. Nothing is added before the invoice is paid, and an unpaid invoice for extra credits never stops the partner: only an unpaid invoice of the contract does (`payment_arrears`). Allowed whatever the partner's standing: a partner that has run out of credits, or is stopped for an unpaid contract invoice, can still buy. No contract is needed. An `Idempotency-Key` is required, and it is what makes a retry safe: the same key with the same body returns the invoice already issued, the same key with a different body is refused with 422, and a duplicate that arrives while the first is still running is refused with 409. Use one key per purchase you mean to make, and a new key for the next one. At most 10 requests an hour. Who may ask: the person who administers the partner, or a Widgetic administrator. A key limited to scopes needs `billing:write`.
117
+ # Asks Widgetic for an invoice for extra credits, on top of the credits of the contract. Name the dollars; the invoice is for the most whole credits they buy at the **list price** of a credit (the price a contract may lower belongs to the contract), so it is never for more than you asked: 12.34 buys 123 credits and the invoice says 12.30. The smallest purchase is 10 dollars and one request buys at most 100000 (ask Widgetic for an invoice for more). Pay the invoice with the link in the answer. When it is paid the credits are added **once, for good**, to the account of the person who administers the partner, which is the account everything the partner builds is charged to (`getPartnerCreditBalance` shows it). Extra credits **do not expire**, unlike the credits of a contract period, which end with it. Nothing is added before the invoice is paid, and an unpaid invoice for extra credits never stops the partner: only an unpaid invoice of the contract does (`payment_arrears`). Available only to partners that have an active paid contract in force with Widgetic (`NO_PAID_CONTRACT` when none is in force) and no overdue contract invoice (`CONTRACT_INVOICE_OVERDUE` while a contract invoice is past its due day). A partner that has run out of credits during its period can buy more at the list price. An `Idempotency-Key` is required, and it is what makes a retry safe: the same key with the same body returns the invoice already issued, the same key with a different body is refused with 422, and a duplicate that arrives while the first is still running is refused with 409. Use one key per purchase you mean to make, and a new key for the next one. At most 10 requests an hour. Who may ask: the person who administers the partner, or a Widgetic administrator. A key limited to scopes needs `billing:write`.
24
118
  # @param partner_id [String] Partner ID
25
119
  # @param idempotency_key [String] A key of your own for this purchase, so that a retry cannot make a second invoice
26
120
  # @param request_extra_credits [RequestExtraCredits]
@@ -32,7 +126,7 @@ module ApiSdkRb
32
126
  end
33
127
 
34
128
  # Buy extra credits for a partner
35
- # Asks Widgetic for an invoice for extra credits, on top of the credits of the contract. Name the dollars; the invoice is for the most whole credits they buy at the **list price** of a credit (the price a contract may lower belongs to the contract), so it is never for more than you asked: 12.34 buys 123 credits and the invoice says 12.30. The smallest purchase is 10 dollars and one request buys at most 100000 (ask Widgetic for an invoice for more). Pay the invoice with the link in the answer. When it is paid the credits are added **once, for good**, to the account of the person who administers the partner, which is the account everything the partner builds is charged to (&#x60;getPartnerCreditBalance&#x60; shows it). Extra credits **do not expire**, unlike the credits of a contract period, which end with it. Nothing is added before the invoice is paid, and an unpaid invoice for extra credits never stops the partner: only an unpaid invoice of the contract does (&#x60;payment_arrears&#x60;). Allowed whatever the partner&#39;s standing: a partner that has run out of credits, or is stopped for an unpaid contract invoice, can still buy. No contract is needed. An &#x60;Idempotency-Key&#x60; is required, and it is what makes a retry safe: the same key with the same body returns the invoice already issued, the same key with a different body is refused with 422, and a duplicate that arrives while the first is still running is refused with 409. Use one key per purchase you mean to make, and a new key for the next one. At most 10 requests an hour. Who may ask: the person who administers the partner, or a Widgetic administrator. A key limited to scopes needs &#x60;billing:write&#x60;.
129
+ # Asks Widgetic for an invoice for extra credits, on top of the credits of the contract. Name the dollars; the invoice is for the most whole credits they buy at the **list price** of a credit (the price a contract may lower belongs to the contract), so it is never for more than you asked: 12.34 buys 123 credits and the invoice says 12.30. The smallest purchase is 10 dollars and one request buys at most 100000 (ask Widgetic for an invoice for more). Pay the invoice with the link in the answer. When it is paid the credits are added **once, for good**, to the account of the person who administers the partner, which is the account everything the partner builds is charged to (&#x60;getPartnerCreditBalance&#x60; shows it). Extra credits **do not expire**, unlike the credits of a contract period, which end with it. Nothing is added before the invoice is paid, and an unpaid invoice for extra credits never stops the partner: only an unpaid invoice of the contract does (&#x60;payment_arrears&#x60;). Available only to partners that have an active paid contract in force with Widgetic (&#x60;NO_PAID_CONTRACT&#x60; when none is in force) and no overdue contract invoice (&#x60;CONTRACT_INVOICE_OVERDUE&#x60; while a contract invoice is past its due day). A partner that has run out of credits during its period can buy more at the list price. An &#x60;Idempotency-Key&#x60; is required, and it is what makes a retry safe: the same key with the same body returns the invoice already issued, the same key with a different body is refused with 422, and a duplicate that arrives while the first is still running is refused with 409. Use one key per purchase you mean to make, and a new key for the next one. At most 10 requests an hour. Who may ask: the person who administers the partner, or a Widgetic administrator. A key limited to scopes needs &#x60;billing:write&#x60;.
36
130
  # @param partner_id [String] Partner ID
37
131
  # @param idempotency_key [String] A key of your own for this purchase, so that a retry cannot make a second invoice
38
132
  # @param request_extra_credits [RequestExtraCredits]
@@ -1457,6 +1551,69 @@ module ApiSdkRb
1457
1551
  return data, status_code, headers
1458
1552
  end
1459
1553
 
1554
+ # List the workflows a partner offers as places to start
1555
+ # The partner's starting points, ordered by `position` and then by `key`: the published workflows it offers its managed users when they make a new workflow. Each says whether people can start from it now and, when they cannot, why. The list is the same for every managed user, and a managed user is shown only what is available. A starting point is one of the partner account's own published workflows, built from compositions the account made for itself (not for a customer or a team) and from widgets the partner already offers as presets (`setPartnerPreset`), and it uses at most 10 widgets. A partner offers up to 50. The caller must be the person who administers the partner (an API key of that account works), or a Widgetic administrator.
1556
+ # @param partner_id [String] The partner whose starting points to list
1557
+ # @param [Hash] opts the optional parameters
1558
+ # @return [ListPartnerWorkflowPresets200Response]
1559
+ def list_partner_workflow_presets_0(partner_id, opts = {})
1560
+ data, _status_code, _headers = list_partner_workflow_presets_0_with_http_info(partner_id, opts)
1561
+ data
1562
+ end
1563
+
1564
+ # List the workflows a partner offers as places to start
1565
+ # The partner&#39;s starting points, ordered by &#x60;position&#x60; and then by &#x60;key&#x60;: the published workflows it offers its managed users when they make a new workflow. Each says whether people can start from it now and, when they cannot, why. The list is the same for every managed user, and a managed user is shown only what is available. A starting point is one of the partner account&#39;s own published workflows, built from compositions the account made for itself (not for a customer or a team) and from widgets the partner already offers as presets (&#x60;setPartnerPreset&#x60;), and it uses at most 10 widgets. A partner offers up to 50. The caller must be the person who administers the partner (an API key of that account works), or a Widgetic administrator.
1566
+ # @param partner_id [String] The partner whose starting points to list
1567
+ # @param [Hash] opts the optional parameters
1568
+ # @return [Array<(ListPartnerWorkflowPresets200Response, Integer, Hash)>] ListPartnerWorkflowPresets200Response data, response status code and response headers
1569
+ def list_partner_workflow_presets_0_with_http_info(partner_id, opts = {})
1570
+ if @api_client.config.debugging
1571
+ @api_client.config.logger.debug 'Calling API: PartnersApi.list_partner_workflow_presets_0 ...'
1572
+ end
1573
+ # verify the required parameter 'partner_id' is set
1574
+ if @api_client.config.client_side_validation && partner_id.nil?
1575
+ fail ArgumentError, "Missing the required parameter 'partner_id' when calling PartnersApi.list_partner_workflow_presets_0"
1576
+ end
1577
+ # resource path
1578
+ local_var_path = '/partners/{partnerId}/workflow-presets'.sub('{' + 'partnerId' + '}', CGI.escape(partner_id.to_s))
1579
+
1580
+ # query parameters
1581
+ query_params = opts[:query_params] || {}
1582
+
1583
+ # header parameters
1584
+ header_params = opts[:header_params] || {}
1585
+ # HTTP header 'Accept' (if needed)
1586
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1587
+
1588
+ # form parameters
1589
+ form_params = opts[:form_params] || {}
1590
+
1591
+ # http body (model)
1592
+ post_body = opts[:debug_body]
1593
+
1594
+ # return_type
1595
+ return_type = opts[:debug_return_type] || 'ListPartnerWorkflowPresets200Response'
1596
+
1597
+ # auth_names
1598
+ auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
1599
+
1600
+ new_options = opts.merge(
1601
+ :operation => :"PartnersApi.list_partner_workflow_presets_0",
1602
+ :header_params => header_params,
1603
+ :query_params => query_params,
1604
+ :form_params => form_params,
1605
+ :body => post_body,
1606
+ :auth_names => auth_names,
1607
+ :return_type => return_type
1608
+ )
1609
+
1610
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1611
+ if @api_client.config.debugging
1612
+ @api_client.config.logger.debug "API called: PartnersApi#list_partner_workflow_presets_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1613
+ end
1614
+ return data, status_code, headers
1615
+ end
1616
+
1460
1617
  # Remove an adapter key from a partner
1461
1618
  # Removes a key an adapter was given. The adapter stops working for the widgets of the partner's customers that need it: their visitors are told the feature is unavailable. Nothing else of the widgets changes, and connecting a key again brings them back. Removing a key that is not connected answers 200 with `removed: false`: the state asked for is the state it is in. A key of an adapter that has since been retired from the catalog can still be removed. This needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator.
1462
1619
  # @param partner_id [String] The partner that keeps the key
@@ -1740,6 +1897,80 @@ module ApiSdkRb
1740
1897
  return data, status_code, headers
1741
1898
  end
1742
1899
 
1900
+ # Stop offering a workflow as a place to start
1901
+ # Removes the starting point under `key`. The workflow itself is not touched, and neither are the workflows people already started from it. Removing a starting point the partner does not offer is not an error: the answer is `removed: false`.
1902
+ # @param partner_id [String] The partner whose starting point to remove
1903
+ # @param key [String] The key of the starting point to remove
1904
+ # @param [Hash] opts the optional parameters
1905
+ # @return [RemovePartnerWorkflowPreset200Response]
1906
+ def remove_partner_workflow_preset_0(partner_id, key, opts = {})
1907
+ data, _status_code, _headers = remove_partner_workflow_preset_0_with_http_info(partner_id, key, opts)
1908
+ data
1909
+ end
1910
+
1911
+ # Stop offering a workflow as a place to start
1912
+ # Removes the starting point under &#x60;key&#x60;. The workflow itself is not touched, and neither are the workflows people already started from it. Removing a starting point the partner does not offer is not an error: the answer is &#x60;removed: false&#x60;.
1913
+ # @param partner_id [String] The partner whose starting point to remove
1914
+ # @param key [String] The key of the starting point to remove
1915
+ # @param [Hash] opts the optional parameters
1916
+ # @return [Array<(RemovePartnerWorkflowPreset200Response, Integer, Hash)>] RemovePartnerWorkflowPreset200Response data, response status code and response headers
1917
+ def remove_partner_workflow_preset_0_with_http_info(partner_id, key, opts = {})
1918
+ if @api_client.config.debugging
1919
+ @api_client.config.logger.debug 'Calling API: PartnersApi.remove_partner_workflow_preset_0 ...'
1920
+ end
1921
+ # verify the required parameter 'partner_id' is set
1922
+ if @api_client.config.client_side_validation && partner_id.nil?
1923
+ fail ArgumentError, "Missing the required parameter 'partner_id' when calling PartnersApi.remove_partner_workflow_preset_0"
1924
+ end
1925
+ # verify the required parameter 'key' is set
1926
+ if @api_client.config.client_side_validation && key.nil?
1927
+ fail ArgumentError, "Missing the required parameter 'key' when calling PartnersApi.remove_partner_workflow_preset_0"
1928
+ end
1929
+ pattern = Regexp.new(/^[a-z0-9][a-z0-9_-]{0,63}$/)
1930
+ if @api_client.config.client_side_validation && key !~ pattern
1931
+ fail ArgumentError, "invalid value for 'key' when calling PartnersApi.remove_partner_workflow_preset_0, must conform to the pattern #{pattern}."
1932
+ end
1933
+
1934
+ # resource path
1935
+ local_var_path = '/partners/{partnerId}/workflow-presets/{key}'.sub('{' + 'partnerId' + '}', CGI.escape(partner_id.to_s)).sub('{' + 'key' + '}', CGI.escape(key.to_s))
1936
+
1937
+ # query parameters
1938
+ query_params = opts[:query_params] || {}
1939
+
1940
+ # header parameters
1941
+ header_params = opts[:header_params] || {}
1942
+ # HTTP header 'Accept' (if needed)
1943
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1944
+
1945
+ # form parameters
1946
+ form_params = opts[:form_params] || {}
1947
+
1948
+ # http body (model)
1949
+ post_body = opts[:debug_body]
1950
+
1951
+ # return_type
1952
+ return_type = opts[:debug_return_type] || 'RemovePartnerWorkflowPreset200Response'
1953
+
1954
+ # auth_names
1955
+ auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
1956
+
1957
+ new_options = opts.merge(
1958
+ :operation => :"PartnersApi.remove_partner_workflow_preset_0",
1959
+ :header_params => header_params,
1960
+ :query_params => query_params,
1961
+ :form_params => form_params,
1962
+ :body => post_body,
1963
+ :auth_names => auth_names,
1964
+ :return_type => return_type
1965
+ )
1966
+
1967
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
1968
+ if @api_client.config.debugging
1969
+ @api_client.config.logger.debug "API called: PartnersApi#remove_partner_workflow_preset_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1970
+ end
1971
+ return data, status_code, headers
1972
+ end
1973
+
1743
1974
  # Send a webhook delivery again
1744
1975
  # Sends one earlier **webhook** delivery again to your **current** webhook address, with the same event `id` (`webhook-id`) as the original notification so a receiver that remembers ids can ignore a duplicate, and a new `createdAt` and signature made with your current secret. The attempt is recorded in the delivery log as a new row that points at the delivery you replayed. Set a webhook address (and secret) under notification settings before you replay. Changing the settings needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator.
1745
1976
  # @param partner_id [String] The partner whose delivery to replay
@@ -2090,7 +2321,7 @@ module ApiSdkRb
2090
2321
  end
2091
2322
 
2092
2323
  # Connect an adapter key to a partner
2093
- # Gives an adapter the key it needs to act through a service the partner has an account with, for the widgets of the customers the partner manages. Take the `adapterId` and `credentialKey` from `getPartnerAdapterConnections`. Saving a key that is already connected replaces it. **What Widgetic does with it.** The key is stored encrypted, bound to this partner, this adapter and this credential, so that a stored value cannot be moved to another. It is never returned, never logged and never shown to a visitor of a widget or to your customers. A server of Widgetic opens it for the one call a widget makes through the adapter, uses it to call the provider on the partner's behalf, and discards it. To cut that off, remove the key here, or revoke it with the provider. **What is checked.** That the adapter exists and takes this credential, that a partner may keep it (some are for an owner only) and that the text is one line of at most 2048 characters. Whether the provider accepts the key is not checked here: it shows the first time a widget uses it. A widget whose adapter has no key connected is not charged and does not run that adapter: its visitors are told the feature is unavailable, and the partner is told once a day what to connect. This needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator. A retry is harmless: saving the same key twice only refreshes when it was set.
2324
+ # Gives an adapter the key it needs to act through a service the partner has an account with, for the widgets of the customers the partner manages. Take the `adapterId` and `credentialKey` from `getPartnerAdapterConnections`. Saving a key that is already connected replaces it. **What Widgetic does with it.** The key is stored encrypted, bound to this partner, this adapter and this credential, so that a stored value cannot be moved to another. It is never returned, never logged and never shown to a visitor of a widget or to your customers. A server of Widgetic opens it for the one call a widget makes through the adapter, uses it to call the provider on the partner's behalf, and discards it. To cut that off, remove the key here, or revoke it with the provider. **What is checked.** That the adapter exists and takes this credential, that a partner may keep it (some are for an owner only) and that the text is one line of at most 2048 characters. Whether the provider accepts the key is not checked here: it shows the first time a widget uses it. **An address that has to be confirmed.** Some credentials are not a key but the email address Widgetic sends a widget's messages to (`confirmation: email_code` in `getPartnerAdapterConnections`). Saving one checks that it is one email address and emails a six-digit code to it; the answer says `awaitingConfirmation: true`, and nothing is sent to the address until the code is given back with `confirmPartnerAdapterConnection`. Saving the same address again before it is confirmed emails a new code (not sooner than a minute after the last); saving the address that is already confirmed changes nothing. If the code cannot be emailed, nothing is saved. A widget whose adapter has no key connected, or whose address is not confirmed yet, is not charged and does not run that adapter: its visitors are told the feature is unavailable, and the partner is told once a day what to do. This needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator. A retry is harmless: saving the same key twice only refreshes when it was set.
2094
2325
  # @param partner_id [String] The partner that keeps the key
2095
2326
  # @param adapter_id [String] The adapter the key is for
2096
2327
  # @param credential_key [String] The key&#39;s name within the adapter
@@ -2103,7 +2334,7 @@ module ApiSdkRb
2103
2334
  end
2104
2335
 
2105
2336
  # Connect an adapter key to a partner
2106
- # Gives an adapter the key it needs to act through a service the partner has an account with, for the widgets of the customers the partner manages. Take the &#x60;adapterId&#x60; and &#x60;credentialKey&#x60; from &#x60;getPartnerAdapterConnections&#x60;. Saving a key that is already connected replaces it. **What Widgetic does with it.** The key is stored encrypted, bound to this partner, this adapter and this credential, so that a stored value cannot be moved to another. It is never returned, never logged and never shown to a visitor of a widget or to your customers. A server of Widgetic opens it for the one call a widget makes through the adapter, uses it to call the provider on the partner&#39;s behalf, and discards it. To cut that off, remove the key here, or revoke it with the provider. **What is checked.** That the adapter exists and takes this credential, that a partner may keep it (some are for an owner only) and that the text is one line of at most 2048 characters. Whether the provider accepts the key is not checked here: it shows the first time a widget uses it. A widget whose adapter has no key connected is not charged and does not run that adapter: its visitors are told the feature is unavailable, and the partner is told once a day what to connect. This needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator. A retry is harmless: saving the same key twice only refreshes when it was set.
2337
+ # Gives an adapter the key it needs to act through a service the partner has an account with, for the widgets of the customers the partner manages. Take the &#x60;adapterId&#x60; and &#x60;credentialKey&#x60; from &#x60;getPartnerAdapterConnections&#x60;. Saving a key that is already connected replaces it. **What Widgetic does with it.** The key is stored encrypted, bound to this partner, this adapter and this credential, so that a stored value cannot be moved to another. It is never returned, never logged and never shown to a visitor of a widget or to your customers. A server of Widgetic opens it for the one call a widget makes through the adapter, uses it to call the provider on the partner&#39;s behalf, and discards it. To cut that off, remove the key here, or revoke it with the provider. **What is checked.** That the adapter exists and takes this credential, that a partner may keep it (some are for an owner only) and that the text is one line of at most 2048 characters. Whether the provider accepts the key is not checked here: it shows the first time a widget uses it. **An address that has to be confirmed.** Some credentials are not a key but the email address Widgetic sends a widget&#39;s messages to (&#x60;confirmation: email_code&#x60; in &#x60;getPartnerAdapterConnections&#x60;). Saving one checks that it is one email address and emails a six-digit code to it; the answer says &#x60;awaitingConfirmation: true&#x60;, and nothing is sent to the address until the code is given back with &#x60;confirmPartnerAdapterConnection&#x60;. Saving the same address again before it is confirmed emails a new code (not sooner than a minute after the last); saving the address that is already confirmed changes nothing. If the code cannot be emailed, nothing is saved. A widget whose adapter has no key connected, or whose address is not confirmed yet, is not charged and does not run that adapter: its visitors are told the feature is unavailable, and the partner is told once a day what to do. This needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator. A retry is harmless: saving the same key twice only refreshes when it was set.
2107
2338
  # @param partner_id [String] The partner that keeps the key
2108
2339
  # @param adapter_id [String] The adapter the key is for
2109
2340
  # @param credential_key [String] The key&#39;s name within the adapter
@@ -2490,6 +2721,91 @@ module ApiSdkRb
2490
2721
  return data, status_code, headers
2491
2722
  end
2492
2723
 
2724
+ # Offer a workflow as a place to start, or replace what a key offers
2725
+ # Offers one of the partner account's own published workflows to its managed users under `key`. If the partner already offers something under that key it is replaced, so sending the same request twice is safe. Saving replaces the whole starting point: a `title`, `description` or `position` you leave out goes back to its default. Keys are 1 to 64 characters: lowercase letters, digits, hyphens and underscores, the first a letter or a digit. A workflow is offered once. What people get is the workflow's live version as it is when they start, so publishing the workflow changes what new starts get; workflows people already started are never touched. The offer is refused, and `error.details.reason` says why, when the workflow: - is not the partner account's own (a workflow of a team or of a customer, or of somebody else), or does not exist: 404, the same for both; - is archived (409 `workflow_archived`), or was never published (409 `workflow_not_published`); - shows no composition (422 `workflow_empty`), or a block shows a composition made for a customer or a team (422 `composition_not_own`); - chains more than 10 widgets (422 `too_many_widgets`), or a widget that the partner does not offer as a preset (422 `widget_not_preset`; `error.details.widgets` lists them, each with its `id` and `name`, so they can be offered first with `setPartnerPreset`); - is already offered under another key (409 `workflow_already_offered`; `error.details.key` says which), or the partner already offers 50 (409 `too_many_presets`). The caller must be the person who administers the partner (an API key of that account works), or a Widgetic administrator, who offers the partner's workflow on its behalf.
2726
+ # @param partner_id [String] The partner whose starting point to set
2727
+ # @param key [String] The name your code and the picker use for the starting point
2728
+ # @param offer_workflow_preset_request [OfferWorkflowPresetRequest]
2729
+ # @param [Hash] opts the optional parameters
2730
+ # @return [SetPartnerWorkflowPreset200Response]
2731
+ def set_partner_workflow_preset_0(partner_id, key, offer_workflow_preset_request, opts = {})
2732
+ data, _status_code, _headers = set_partner_workflow_preset_0_with_http_info(partner_id, key, offer_workflow_preset_request, opts)
2733
+ data
2734
+ end
2735
+
2736
+ # Offer a workflow as a place to start, or replace what a key offers
2737
+ # Offers one of the partner account&#39;s own published workflows to its managed users under &#x60;key&#x60;. If the partner already offers something under that key it is replaced, so sending the same request twice is safe. Saving replaces the whole starting point: a &#x60;title&#x60;, &#x60;description&#x60; or &#x60;position&#x60; you leave out goes back to its default. Keys are 1 to 64 characters: lowercase letters, digits, hyphens and underscores, the first a letter or a digit. A workflow is offered once. What people get is the workflow&#39;s live version as it is when they start, so publishing the workflow changes what new starts get; workflows people already started are never touched. The offer is refused, and &#x60;error.details.reason&#x60; says why, when the workflow: - is not the partner account&#39;s own (a workflow of a team or of a customer, or of somebody else), or does not exist: 404, the same for both; - is archived (409 &#x60;workflow_archived&#x60;), or was never published (409 &#x60;workflow_not_published&#x60;); - shows no composition (422 &#x60;workflow_empty&#x60;), or a block shows a composition made for a customer or a team (422 &#x60;composition_not_own&#x60;); - chains more than 10 widgets (422 &#x60;too_many_widgets&#x60;), or a widget that the partner does not offer as a preset (422 &#x60;widget_not_preset&#x60;; &#x60;error.details.widgets&#x60; lists them, each with its &#x60;id&#x60; and &#x60;name&#x60;, so they can be offered first with &#x60;setPartnerPreset&#x60;); - is already offered under another key (409 &#x60;workflow_already_offered&#x60;; &#x60;error.details.key&#x60; says which), or the partner already offers 50 (409 &#x60;too_many_presets&#x60;). The caller must be the person who administers the partner (an API key of that account works), or a Widgetic administrator, who offers the partner&#39;s workflow on its behalf.
2738
+ # @param partner_id [String] The partner whose starting point to set
2739
+ # @param key [String] The name your code and the picker use for the starting point
2740
+ # @param offer_workflow_preset_request [OfferWorkflowPresetRequest]
2741
+ # @param [Hash] opts the optional parameters
2742
+ # @return [Array<(SetPartnerWorkflowPreset200Response, Integer, Hash)>] SetPartnerWorkflowPreset200Response data, response status code and response headers
2743
+ def set_partner_workflow_preset_0_with_http_info(partner_id, key, offer_workflow_preset_request, opts = {})
2744
+ if @api_client.config.debugging
2745
+ @api_client.config.logger.debug 'Calling API: PartnersApi.set_partner_workflow_preset_0 ...'
2746
+ end
2747
+ # verify the required parameter 'partner_id' is set
2748
+ if @api_client.config.client_side_validation && partner_id.nil?
2749
+ fail ArgumentError, "Missing the required parameter 'partner_id' when calling PartnersApi.set_partner_workflow_preset_0"
2750
+ end
2751
+ # verify the required parameter 'key' is set
2752
+ if @api_client.config.client_side_validation && key.nil?
2753
+ fail ArgumentError, "Missing the required parameter 'key' when calling PartnersApi.set_partner_workflow_preset_0"
2754
+ end
2755
+ pattern = Regexp.new(/^[a-z0-9][a-z0-9_-]{0,63}$/)
2756
+ if @api_client.config.client_side_validation && key !~ pattern
2757
+ fail ArgumentError, "invalid value for 'key' when calling PartnersApi.set_partner_workflow_preset_0, must conform to the pattern #{pattern}."
2758
+ end
2759
+
2760
+ # verify the required parameter 'offer_workflow_preset_request' is set
2761
+ if @api_client.config.client_side_validation && offer_workflow_preset_request.nil?
2762
+ fail ArgumentError, "Missing the required parameter 'offer_workflow_preset_request' when calling PartnersApi.set_partner_workflow_preset_0"
2763
+ end
2764
+ # resource path
2765
+ local_var_path = '/partners/{partnerId}/workflow-presets/{key}'.sub('{' + 'partnerId' + '}', CGI.escape(partner_id.to_s)).sub('{' + 'key' + '}', CGI.escape(key.to_s))
2766
+
2767
+ # query parameters
2768
+ query_params = opts[:query_params] || {}
2769
+
2770
+ # header parameters
2771
+ header_params = opts[:header_params] || {}
2772
+ # HTTP header 'Accept' (if needed)
2773
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
2774
+ # HTTP header 'Content-Type'
2775
+ content_type = @api_client.select_header_content_type(['application/json'])
2776
+ if !content_type.nil?
2777
+ header_params['Content-Type'] = content_type
2778
+ end
2779
+
2780
+ # form parameters
2781
+ form_params = opts[:form_params] || {}
2782
+
2783
+ # http body (model)
2784
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(offer_workflow_preset_request)
2785
+
2786
+ # return_type
2787
+ return_type = opts[:debug_return_type] || 'SetPartnerWorkflowPreset200Response'
2788
+
2789
+ # auth_names
2790
+ auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
2791
+
2792
+ new_options = opts.merge(
2793
+ :operation => :"PartnersApi.set_partner_workflow_preset_0",
2794
+ :header_params => header_params,
2795
+ :query_params => query_params,
2796
+ :form_params => form_params,
2797
+ :body => post_body,
2798
+ :auth_names => auth_names,
2799
+ :return_type => return_type
2800
+ )
2801
+
2802
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2803
+ if @api_client.config.debugging
2804
+ @api_client.config.logger.debug "API called: PartnersApi#set_partner_workflow_preset_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2805
+ end
2806
+ return data, status_code, headers
2807
+ end
2808
+
2493
2809
  # Require a signed context, or stop requiring it
2494
2810
  # Chooses what the gateway does with an entry whose `context` carries no valid signature. With `required: false` (the default) an entry that carries a signature is checked and refused when the signature is wrong or out of date, and an entry that carries none is accepted, as it always was. With `required: true` an entry without a valid signature is refused with 403 `CONTEXT_SIGNATURE_REQUIRED`: use it once every page of yours that embeds a composition signs its context. Signatures cannot be required before you have made a secret (`rotatePartnerEntryContextSecret`): the answer is 409, so that you cannot lock your own compositions out of taking entries. The change reaches every part of the gateway within a minute. Saving the same choice twice leaves the same state, so a retry is harmless and `Idempotency-Key` is optional. This needs an API key with full access. The caller must be the person who administers the partner, or a Widgetic administrator.
2495
2811
  # @param partner_id [String] The partner whose context signing to change