api-sdk-rb 1.11.66

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 (854) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +122 -0
  4. data/README.md +648 -0
  5. data/Rakefile +10 -0
  6. data/api-sdk-rb.gemspec +39 -0
  7. data/docs/AccountCreditBalance.md +26 -0
  8. data/docs/AccountCreditBalanceResponse.md +22 -0
  9. data/docs/AccountCreditTransaction.md +30 -0
  10. data/docs/AdapterConnection.md +30 -0
  11. data/docs/AdapterConnectionRemoval.md +18 -0
  12. data/docs/AddAiAnswersKnowledgeDocument201Response.md +22 -0
  13. data/docs/AddAiAnswersKnowledgeDocumentRequest.md +20 -0
  14. data/docs/AddDomainRequest.md +18 -0
  15. data/docs/AiAnswersKnowledge.md +20 -0
  16. data/docs/AiAnswersKnowledgeDocument.md +30 -0
  17. data/docs/AiAnswersKnowledgeRemoval.md +18 -0
  18. data/docs/AiAnswersKnowledgeTotals.md +24 -0
  19. data/docs/ApiKeyScope.md +15 -0
  20. data/docs/Canvas.md +32 -0
  21. data/docs/CanvasResponse.md +22 -0
  22. data/docs/CanvasesApi.md +377 -0
  23. data/docs/CheckCompositionAccessResponse.md +22 -0
  24. data/docs/CheckCompositionAccessResponseData.md +20 -0
  25. data/docs/Composition.md +46 -0
  26. data/docs/CompositionDataSource.md +20 -0
  27. data/docs/CompositionDataSourceResponse.md +22 -0
  28. data/docs/CompositionEntriesDescription.md +22 -0
  29. data/docs/CompositionEntriesDescriptionResponse.md +22 -0
  30. data/docs/CompositionEntriesReading.md +34 -0
  31. data/docs/CompositionEntriesReadingResponse.md +22 -0
  32. data/docs/CompositionEntryAggregateTally.md +28 -0
  33. data/docs/CompositionEntryAggregatesBlock.md +22 -0
  34. data/docs/CompositionEntryColumn.md +20 -0
  35. data/docs/CompositionEntryDeleteSuccess.md +20 -0
  36. data/docs/CompositionEntryDeleteSuccessData.md +18 -0
  37. data/docs/CompositionEntryItem.md +26 -0
  38. data/docs/CompositionEntryItemsMeta.md +22 -0
  39. data/docs/CompositionEntryItemsPageSuccess.md +22 -0
  40. data/docs/CompositionEntryTable.md +22 -0
  41. data/docs/CompositionEntryTally.md +20 -0
  42. data/docs/CompositionResponse.md +22 -0
  43. data/docs/CompositionVersion.md +26 -0
  44. data/docs/CompositionsApi.md +2768 -0
  45. data/docs/ContentCheckFinding.md +24 -0
  46. data/docs/ContentItemWriteResult.md +28 -0
  47. data/docs/ContentItemWriteResultValidationResult.md +22 -0
  48. data/docs/CopyPartnerPresetRequest.md +18 -0
  49. data/docs/CreateCanvasRequest.md +28 -0
  50. data/docs/CreateCompositionContentItem201Response.md +22 -0
  51. data/docs/CreateCompositionContentItemRequest.md +18 -0
  52. data/docs/CreateCompositionDatabaseRecord201Response.md +22 -0
  53. data/docs/CreateCompositionFromPresetRequest.md +26 -0
  54. data/docs/CreateCompositionFromWidget201Response.md +22 -0
  55. data/docs/CreateCompositionFromWidgetRequest.md +28 -0
  56. data/docs/CreateUserApiKeyRequest.md +24 -0
  57. data/docs/CreateWidget201Response.md +22 -0
  58. data/docs/CreateWidget201ResponseData.md +62 -0
  59. data/docs/CreatedUserApiKey.md +34 -0
  60. data/docs/CreatedUserApiKeyResponse.md +22 -0
  61. data/docs/CreditsApi.md +155 -0
  62. data/docs/DeleteCompositionContentItemResponse.md +22 -0
  63. data/docs/DeleteCompositionContentItemResponseData.md +20 -0
  64. data/docs/DeleteCompositionDataSourceResponse.md +22 -0
  65. data/docs/DeleteCompositionDataSourceResponseData.md +18 -0
  66. data/docs/DeleteManagedUser200Response.md +22 -0
  67. data/docs/DeletePersonalWorkspaceDomainResponse.md +22 -0
  68. data/docs/DeletePersonalWorkspaceDomainResponseData.md +18 -0
  69. data/docs/DeleteUserApiKeyResponse.md +22 -0
  70. data/docs/DeleteUserApiKeyResponseData.md +18 -0
  71. data/docs/DesignDefaults.md +18 -0
  72. data/docs/DuplicateComposition202Response.md +22 -0
  73. data/docs/DuplicateComposition202ResponseData.md +18 -0
  74. data/docs/DuplicateCompositionRequest.md +20 -0
  75. data/docs/EditorSession.md +34 -0
  76. data/docs/EditorSessionResponse.md +22 -0
  77. data/docs/Entitlement.md +38 -0
  78. data/docs/EntitlementsApi.md +163 -0
  79. data/docs/ErrorDetail.md +34 -0
  80. data/docs/ErrorResponse.md +22 -0
  81. data/docs/ExportCompositionEntryItems200Response.md +22 -0
  82. data/docs/ExportCompositionEntryItems200ResponseMeta.md +20 -0
  83. data/docs/GetAiAnswersKnowledge200Response.md +22 -0
  84. data/docs/GetAllCanvasesResponse.md +22 -0
  85. data/docs/GetAllCanvasesResponseData.md +24 -0
  86. data/docs/GetAllCompositions200Response.md +22 -0
  87. data/docs/GetAllManagedUsers200Response.md +22 -0
  88. data/docs/GetCompositionContentResponse.md +22 -0
  89. data/docs/GetCompositionContentSchemaResponse.md +22 -0
  90. data/docs/GetCompositionContentSchemaResponseData.md +28 -0
  91. data/docs/GetCompositionDataSourceResponse.md +22 -0
  92. data/docs/GetCompositionDatabaseRecords200Response.md +22 -0
  93. data/docs/GetCompositionDesignResponse.md +22 -0
  94. data/docs/GetCompositionDesignSchemaResponse.md +22 -0
  95. data/docs/GetCompositionDesignSchemaResponseData.md +28 -0
  96. data/docs/GetCompositionEmbedSchemaResponse.md +22 -0
  97. data/docs/GetCompositionEmbedSchemaResponseData.md +28 -0
  98. data/docs/GetCompositionEmbedSettingsResponse.md +22 -0
  99. data/docs/GetCompositionPreviewResponse.md +22 -0
  100. data/docs/GetCompositionPreviewResponseData.md +24 -0
  101. data/docs/GetCompositionVersions200Response.md +22 -0
  102. data/docs/GetCompositionsBatchRequest.md +18 -0
  103. data/docs/GetCompositionsBatchResponse.md +22 -0
  104. data/docs/GetCompositionsBatchResponseData.md +20 -0
  105. data/docs/GetInvoicesByPartnerId200Response.md +22 -0
  106. data/docs/GetManagedUserEntitlementsResponse.md +22 -0
  107. data/docs/GetManagedUserEntitlementsResponseData.md +20 -0
  108. data/docs/GetManagedUserLimits200Response.md +22 -0
  109. data/docs/GetManagedUserStorageUsage200Response.md +22 -0
  110. data/docs/GetManagedUserStorageUsage200ResponseData.md +22 -0
  111. data/docs/GetManagedUserStorageUsage200ResponseDataByPurpose.md +24 -0
  112. data/docs/GetManagedUsersByManagerIdResponse.md +22 -0
  113. data/docs/GetManagedUsersByManagerIdResponseData.md +24 -0
  114. data/docs/GetPartnerBillingOverview200Response.md +22 -0
  115. data/docs/GetPartnerCreditTransactions200Response.md +22 -0
  116. data/docs/GetPartnerDesignDefaults200Response.md +22 -0
  117. data/docs/GetPartnerEntitlementsResponse.md +22 -0
  118. data/docs/GetPartnerEntitlementsResponseData.md +20 -0
  119. data/docs/GetPersonalWorkspaceDomains200Response.md +22 -0
  120. data/docs/GetPublicCompositionEmbed200Response.md +46 -0
  121. data/docs/GetPublicCompositionEmbed200ResponseDataSource.md +20 -0
  122. data/docs/GetPublicCompositionEmbed200ResponseDirect.md +22 -0
  123. data/docs/GetUserAdapterConnections200Response.md +22 -0
  124. data/docs/GetUserApiKeyUsageLogsResponse.md +22 -0
  125. data/docs/GetUserApiKeyUsageLogsResponseData.md +18 -0
  126. data/docs/GetUserApiKeys200Response.md +22 -0
  127. data/docs/GetWidgets200Response.md +22 -0
  128. data/docs/GetWidgetsBatchRequest.md +18 -0
  129. data/docs/GetWidgetsBatchResponse.md +22 -0
  130. data/docs/GetWidgetsBatchResponseData.md +20 -0
  131. data/docs/GetWidgetsBatchResponseDataErrorsInner.md +20 -0
  132. data/docs/InvoicesApi.md +85 -0
  133. data/docs/ListPartnerPresets200Response.md +22 -0
  134. data/docs/ManagedUser.md +30 -0
  135. data/docs/ManagedUserEntriesMeta.md +26 -0
  136. data/docs/ManagedUserEntriesPageSuccess.md +22 -0
  137. data/docs/ManagedUserEntryItem.md +30 -0
  138. data/docs/ManagedUserLimits.md +24 -0
  139. data/docs/ManagedUserOperationUsage.md +26 -0
  140. data/docs/ManagedUserRemoval.md +20 -0
  141. data/docs/ManagedUserResponse.md +22 -0
  142. data/docs/ManagedUserUsage.md +28 -0
  143. data/docs/ManagedUserUsageResponse.md +22 -0
  144. data/docs/ManagedUserUsageTotals.md +24 -0
  145. data/docs/ManagedUsersApi.md +1239 -0
  146. data/docs/MyPartner.md +34 -0
  147. data/docs/MyPartners.md +22 -0
  148. data/docs/MyPartnersResponse.md +22 -0
  149. data/docs/NewComposition.md +38 -0
  150. data/docs/NewEditorSession.md +24 -0
  151. data/docs/NewManagedUser.md +22 -0
  152. data/docs/NewWidget.md +38 -0
  153. data/docs/OperationsApi.md +77 -0
  154. data/docs/OperationsIdGetResponse.md +22 -0
  155. data/docs/OperationsIdGetResponseData.md +32 -0
  156. data/docs/PartnerAnalyticsByManagedUser.md +24 -0
  157. data/docs/PartnerAnalyticsByManagedUserResponse.md +22 -0
  158. data/docs/PartnerAnalyticsOfDay.md +24 -0
  159. data/docs/PartnerAnalyticsOfManagedUser.md +36 -0
  160. data/docs/PartnerAnalyticsOfWidget.md +28 -0
  161. data/docs/PartnerAnalyticsSummary.md +32 -0
  162. data/docs/PartnerAnalyticsSummaryResponse.md +22 -0
  163. data/docs/PartnerAnalyticsTimeline.md +24 -0
  164. data/docs/PartnerAnalyticsTimelineResponse.md +22 -0
  165. data/docs/PartnerAnalyticsTopWidgets.md +24 -0
  166. data/docs/PartnerAnalyticsTopWidgetsResponse.md +22 -0
  167. data/docs/PartnerApi.md +9892 -0
  168. data/docs/PartnerBillingOverview.md +24 -0
  169. data/docs/PartnerBillingOverviewBillingIntegration.md +24 -0
  170. data/docs/PartnerBillingOverviewOperationalCredits.md +24 -0
  171. data/docs/PartnerBillingOverviewPartner.md +24 -0
  172. data/docs/PartnerContract.md +48 -0
  173. data/docs/PartnerContractResponse.md +22 -0
  174. data/docs/PartnerCustomization.md +50 -0
  175. data/docs/PartnerDataDatabase.md +32 -0
  176. data/docs/PartnerDataDatabaseRemoval.md +18 -0
  177. data/docs/PartnerDataDatabaseRemovalResponse.md +22 -0
  178. data/docs/PartnerDataDatabaseResponse.md +22 -0
  179. data/docs/PartnerEntryContextSecret.md +20 -0
  180. data/docs/PartnerEntryContextSecretResponse.md +22 -0
  181. data/docs/PartnerEntryContextSigning.md +28 -0
  182. data/docs/PartnerEntryContextSigningResponse.md +22 -0
  183. data/docs/PartnerExtraCreditsInvoice.md +40 -0
  184. data/docs/PartnerExtraCreditsInvoiceResponse.md +22 -0
  185. data/docs/PartnerInvoice.md +64 -0
  186. data/docs/PartnerNotification.md +30 -0
  187. data/docs/PartnerNotificationDefaultRecipients.md +20 -0
  188. data/docs/PartnerNotificationDelivery.md +46 -0
  189. data/docs/PartnerNotificationDeliveryLog.md +18 -0
  190. data/docs/PartnerNotificationDeliveryLogResponse.md +22 -0
  191. data/docs/PartnerNotificationDeliveryResponse.md +22 -0
  192. data/docs/PartnerNotificationEvent.md +28 -0
  193. data/docs/PartnerNotificationEventType.md +15 -0
  194. data/docs/PartnerNotificationPage.md +20 -0
  195. data/docs/PartnerNotificationPageResponse.md +22 -0
  196. data/docs/PartnerNotificationSettings.md +36 -0
  197. data/docs/PartnerNotificationSettingsChange.md +20 -0
  198. data/docs/PartnerNotificationSettingsChangeResponse.md +22 -0
  199. data/docs/PartnerNotificationSettingsResponse.md +22 -0
  200. data/docs/PartnerNotificationTestEventRequest.md +18 -0
  201. data/docs/PartnerNotificationTestEventResult.md +24 -0
  202. data/docs/PartnerNotificationTestEventResultResponse.md +22 -0
  203. data/docs/PartnerPreset.md +34 -0
  204. data/docs/PartnerPresetCopy.md +28 -0
  205. data/docs/PartnerPresetCopyResponse.md +22 -0
  206. data/docs/PartnerPresetRemoval.md +18 -0
  207. data/docs/PartnerPresetRemovalResponse.md +22 -0
  208. data/docs/PartnerPresetResponse.md +22 -0
  209. data/docs/PartnerReportPage.md +22 -0
  210. data/docs/PartnerReportPeriod.md +20 -0
  211. data/docs/PartnerStorageDestination.md +40 -0
  212. data/docs/PartnerStorageDestinationResponse.md +22 -0
  213. data/docs/PartnerStorageRemoval.md +18 -0
  214. data/docs/PartnerStorageRemovalResponse.md +22 -0
  215. data/docs/PartnerStorageUsage.md +24 -0
  216. data/docs/PartnerStorageUsageOfManagedUser.md +34 -0
  217. data/docs/PartnerStorageUsageResponse.md +22 -0
  218. data/docs/PartnerStorageUsageTotals.md +24 -0
  219. data/docs/PartnersApi.md +2708 -0
  220. data/docs/PersonalWorkspaceDomain.md +26 -0
  221. data/docs/PersonalWorkspaceDomainResult.md +20 -0
  222. data/docs/PersonalWorkspaceDomainResultResponse.md +22 -0
  223. data/docs/PostPublicCompositionEmbedStatus200Response.md +22 -0
  224. data/docs/PostPublicCompositionEmbedStatus200ResponseData.md +18 -0
  225. data/docs/PostPublicCompositionEmbedStatusRequest.md +18 -0
  226. data/docs/PublicAdapterCallError.md +24 -0
  227. data/docs/PublicAdapterCallRequest.md +26 -0
  228. data/docs/PublicAdapterCallResult.md +20 -0
  229. data/docs/PublicAdapterCallResultData.md +18 -0
  230. data/docs/PublicAdapterFileResult.md +20 -0
  231. data/docs/PublicAdapterFileResultData.md +18 -0
  232. data/docs/PublicAdapterFileResultDataFile.md +28 -0
  233. data/docs/PublicCompositionEntryCreated.md +20 -0
  234. data/docs/PublicCompositionEntryCreatedData.md +22 -0
  235. data/docs/PublicCompositionEntryRequest.md +22 -0
  236. data/docs/PublicEmbedApi.md +415 -0
  237. data/docs/PublicEmbedFailure.md +28 -0
  238. data/docs/PublicEmbedFailureDetails.md +20 -0
  239. data/docs/PublicEmbedFailureError.md +28 -0
  240. data/docs/PurposeStorageBucket.md +20 -0
  241. data/docs/RemoveAiAnswersKnowledgeDocument200Response.md +22 -0
  242. data/docs/RemoveUserAdapterConnection200Response.md +22 -0
  243. data/docs/RequestExtraCredits.md +18 -0
  244. data/docs/ResponseMeta.md +34 -0
  245. data/docs/RevokeManagedUserEditorSessionsResponse.md +22 -0
  246. data/docs/RevokeManagedUserEditorSessionsResponseData.md +18 -0
  247. data/docs/SetAdapterConnectionRequest.md +18 -0
  248. data/docs/SetCompositionDataSourceRequest.md +20 -0
  249. data/docs/SetDynamicContentRequest.md +26 -0
  250. data/docs/SetDynamicContentResponse.md +22 -0
  251. data/docs/SetDynamicContentResponseData.md +26 -0
  252. data/docs/SetDynamicContentResponseDataValidationResult.md +22 -0
  253. data/docs/SetManagedUserLimitsRequest.md +18 -0
  254. data/docs/SetPartnerDataDatabaseRequest.md +18 -0
  255. data/docs/SetPartnerDesignDefaultsRequest.md +18 -0
  256. data/docs/SetPartnerPresetRequest.md +24 -0
  257. data/docs/SetPartnerStorageDestinationRequest.md +32 -0
  258. data/docs/SetUserAdapterConnection200Response.md +22 -0
  259. data/docs/SuccessResponse.md +22 -0
  260. data/docs/TokensApi.md +77 -0
  261. data/docs/UpdateCanvasRequest.md +22 -0
  262. data/docs/UpdateComposition.md +32 -0
  263. data/docs/UpdateCompositionStatusRequest.md +18 -0
  264. data/docs/UpdateDomainRequest.md +18 -0
  265. data/docs/UpdateManagedUser.md +22 -0
  266. data/docs/UpdatePartnerEntryContextSigningRequest.md +18 -0
  267. data/docs/UpdatePartnerNotificationSettingsRequest.md +24 -0
  268. data/docs/UpdateUserApiKeyRequest.md +20 -0
  269. data/docs/Upload.md +44 -0
  270. data/docs/UploadLimits.md +28 -0
  271. data/docs/UploadLimitsResponse.md +22 -0
  272. data/docs/UploadResponse.md +22 -0
  273. data/docs/UploadsApi.md +372 -0
  274. data/docs/UploadsGet200Response.md +22 -0
  275. data/docs/UploadsIdDelete200Response.md +22 -0
  276. data/docs/UploadsIdDelete200ResponseData.md +18 -0
  277. data/docs/UserApiKey.md +34 -0
  278. data/docs/UserApiKeyResponse.md +22 -0
  279. data/docs/UserApiKeyUsageLog.md +32 -0
  280. data/docs/UsersApi.md +881 -0
  281. data/docs/ValidateCompositionContentResponse.md +22 -0
  282. data/docs/ValidateCompositionContentResponseData.md +24 -0
  283. data/docs/ValidateToken200Response.md +22 -0
  284. data/docs/ValidateToken200ResponseData.md +26 -0
  285. data/docs/Widget.md +60 -0
  286. data/docs/WidgetsApi.md +303 -0
  287. data/git_push.sh +57 -0
  288. data/lib/api-sdk-rb/api/canvases_api.rb +390 -0
  289. data/lib/api-sdk-rb/api/compositions_api.rb +3267 -0
  290. data/lib/api-sdk-rb/api/credits_api.rb +169 -0
  291. data/lib/api-sdk-rb/api/entitlements_api.rb +166 -0
  292. data/lib/api-sdk-rb/api/invoices_api.rb +110 -0
  293. data/lib/api-sdk-rb/api/managed_users_api.rb +1299 -0
  294. data/lib/api-sdk-rb/api/operations_api.rb +85 -0
  295. data/lib/api-sdk-rb/api/partner_api.rb +10693 -0
  296. data/lib/api-sdk-rb/api/partners_api.rb +2799 -0
  297. data/lib/api-sdk-rb/api/public_embed_api.rb +496 -0
  298. data/lib/api-sdk-rb/api/tokens_api.rb +77 -0
  299. data/lib/api-sdk-rb/api/uploads_api.rb +383 -0
  300. data/lib/api-sdk-rb/api/users_api.rb +934 -0
  301. data/lib/api-sdk-rb/api/widgets_api.rb +347 -0
  302. data/lib/api-sdk-rb/api_client.rb +394 -0
  303. data/lib/api-sdk-rb/api_error.rb +58 -0
  304. data/lib/api-sdk-rb/configuration.rb +425 -0
  305. data/lib/api-sdk-rb/models/account_credit_balance.rb +253 -0
  306. data/lib/api-sdk-rb/models/account_credit_balance_response.rb +247 -0
  307. data/lib/api-sdk-rb/models/account_credit_transaction.rb +277 -0
  308. data/lib/api-sdk-rb/models/adapter_connection.rb +355 -0
  309. data/lib/api-sdk-rb/models/adapter_connection_removal.rb +222 -0
  310. data/lib/api-sdk-rb/models/add_ai_answers_knowledge_document201_response.rb +246 -0
  311. data/lib/api-sdk-rb/models/add_ai_answers_knowledge_document_request.rb +277 -0
  312. data/lib/api-sdk-rb/models/add_domain_request.rb +222 -0
  313. data/lib/api-sdk-rb/models/ai_answers_knowledge.rb +240 -0
  314. data/lib/api-sdk-rb/models/ai_answers_knowledge_document.rb +373 -0
  315. data/lib/api-sdk-rb/models/ai_answers_knowledge_removal.rb +222 -0
  316. data/lib/api-sdk-rb/models/ai_answers_knowledge_totals.rb +273 -0
  317. data/lib/api-sdk-rb/models/api_key_scope.rb +47 -0
  318. data/lib/api-sdk-rb/models/canvas.rb +315 -0
  319. data/lib/api-sdk-rb/models/canvas_response.rb +247 -0
  320. data/lib/api-sdk-rb/models/check_composition_access_response.rb +247 -0
  321. data/lib/api-sdk-rb/models/check_composition_access_response_data.rb +225 -0
  322. data/lib/api-sdk-rb/models/composition.rb +447 -0
  323. data/lib/api-sdk-rb/models/composition_data_source.rb +287 -0
  324. data/lib/api-sdk-rb/models/composition_data_source_response.rb +247 -0
  325. data/lib/api-sdk-rb/models/composition_entries_description.rb +258 -0
  326. data/lib/api-sdk-rb/models/composition_entries_description_response.rb +247 -0
  327. data/lib/api-sdk-rb/models/composition_entries_reading.rb +368 -0
  328. data/lib/api-sdk-rb/models/composition_entries_reading_response.rb +247 -0
  329. data/lib/api-sdk-rb/models/composition_entry_aggregate_tally.rb +271 -0
  330. data/lib/api-sdk-rb/models/composition_entry_aggregates_block.rb +252 -0
  331. data/lib/api-sdk-rb/models/composition_entry_column.rb +239 -0
  332. data/lib/api-sdk-rb/models/composition_entry_delete_success.rb +237 -0
  333. data/lib/api-sdk-rb/models/composition_entry_delete_success_data.rb +221 -0
  334. data/lib/api-sdk-rb/models/composition_entry_item.rb +274 -0
  335. data/lib/api-sdk-rb/models/composition_entry_items_meta.rb +279 -0
  336. data/lib/api-sdk-rb/models/composition_entry_items_page_success.rb +255 -0
  337. data/lib/api-sdk-rb/models/composition_entry_table.rb +269 -0
  338. data/lib/api-sdk-rb/models/composition_entry_tally.rb +254 -0
  339. data/lib/api-sdk-rb/models/composition_response.rb +247 -0
  340. data/lib/api-sdk-rb/models/composition_version.rb +255 -0
  341. data/lib/api-sdk-rb/models/content_check_finding.rb +260 -0
  342. data/lib/api-sdk-rb/models/content_item_write_result.rb +266 -0
  343. data/lib/api-sdk-rb/models/content_item_write_result_validation_result.rb +236 -0
  344. data/lib/api-sdk-rb/models/copy_partner_preset_request.rb +243 -0
  345. data/lib/api-sdk-rb/models/create_canvas_request.rb +291 -0
  346. data/lib/api-sdk-rb/models/create_composition_content_item201_response.rb +246 -0
  347. data/lib/api-sdk-rb/models/create_composition_content_item_request.rb +233 -0
  348. data/lib/api-sdk-rb/models/create_composition_database_record201_response.rb +249 -0
  349. data/lib/api-sdk-rb/models/create_composition_from_preset_request.rb +259 -0
  350. data/lib/api-sdk-rb/models/create_composition_from_widget201_response.rb +246 -0
  351. data/lib/api-sdk-rb/models/create_composition_from_widget_request.rb +267 -0
  352. data/lib/api-sdk-rb/models/create_user_api_key_request.rb +335 -0
  353. data/lib/api-sdk-rb/models/create_widget201_response.rb +246 -0
  354. data/lib/api-sdk-rb/models/create_widget201_response_data.rb +493 -0
  355. data/lib/api-sdk-rb/models/created_user_api_key.rb +384 -0
  356. data/lib/api-sdk-rb/models/created_user_api_key_response.rb +247 -0
  357. data/lib/api-sdk-rb/models/delete_composition_content_item_response.rb +247 -0
  358. data/lib/api-sdk-rb/models/delete_composition_content_item_response_data.rb +223 -0
  359. data/lib/api-sdk-rb/models/delete_composition_data_source_response.rb +247 -0
  360. data/lib/api-sdk-rb/models/delete_composition_data_source_response_data.rb +222 -0
  361. data/lib/api-sdk-rb/models/delete_managed_user200_response.rb +246 -0
  362. data/lib/api-sdk-rb/models/delete_personal_workspace_domain_response.rb +247 -0
  363. data/lib/api-sdk-rb/models/delete_personal_workspace_domain_response_data.rb +214 -0
  364. data/lib/api-sdk-rb/models/delete_user_api_key_response.rb +247 -0
  365. data/lib/api-sdk-rb/models/delete_user_api_key_response_data.rb +214 -0
  366. data/lib/api-sdk-rb/models/design_defaults.rb +221 -0
  367. data/lib/api-sdk-rb/models/duplicate_composition202_response.rb +246 -0
  368. data/lib/api-sdk-rb/models/duplicate_composition202_response_data.rb +215 -0
  369. data/lib/api-sdk-rb/models/duplicate_composition_request.rb +227 -0
  370. data/lib/api-sdk-rb/models/editor_session.rb +367 -0
  371. data/lib/api-sdk-rb/models/editor_session_response.rb +247 -0
  372. data/lib/api-sdk-rb/models/entitlement.rb +350 -0
  373. data/lib/api-sdk-rb/models/error_detail.rb +317 -0
  374. data/lib/api-sdk-rb/models/error_response.rb +255 -0
  375. data/lib/api-sdk-rb/models/export_composition_entry_items200_response.rb +255 -0
  376. data/lib/api-sdk-rb/models/export_composition_entry_items200_response_meta.rb +237 -0
  377. data/lib/api-sdk-rb/models/get_ai_answers_knowledge200_response.rb +246 -0
  378. data/lib/api-sdk-rb/models/get_all_canvases_response.rb +247 -0
  379. data/lib/api-sdk-rb/models/get_all_canvases_response_data.rb +244 -0
  380. data/lib/api-sdk-rb/models/get_all_compositions200_response.rb +248 -0
  381. data/lib/api-sdk-rb/models/get_all_managed_users200_response.rb +248 -0
  382. data/lib/api-sdk-rb/models/get_composition_content_response.rb +247 -0
  383. data/lib/api-sdk-rb/models/get_composition_content_schema_response.rb +247 -0
  384. data/lib/api-sdk-rb/models/get_composition_content_schema_response_data.rb +261 -0
  385. data/lib/api-sdk-rb/models/get_composition_data_source_response.rb +243 -0
  386. data/lib/api-sdk-rb/models/get_composition_database_records200_response.rb +248 -0
  387. data/lib/api-sdk-rb/models/get_composition_design_response.rb +247 -0
  388. data/lib/api-sdk-rb/models/get_composition_design_schema_response.rb +247 -0
  389. data/lib/api-sdk-rb/models/get_composition_design_schema_response_data.rb +262 -0
  390. data/lib/api-sdk-rb/models/get_composition_embed_schema_response.rb +247 -0
  391. data/lib/api-sdk-rb/models/get_composition_embed_schema_response_data.rb +302 -0
  392. data/lib/api-sdk-rb/models/get_composition_embed_settings_response.rb +247 -0
  393. data/lib/api-sdk-rb/models/get_composition_preview_response.rb +247 -0
  394. data/lib/api-sdk-rb/models/get_composition_preview_response_data.rb +245 -0
  395. data/lib/api-sdk-rb/models/get_composition_versions200_response.rb +248 -0
  396. data/lib/api-sdk-rb/models/get_compositions_batch_request.rb +243 -0
  397. data/lib/api-sdk-rb/models/get_compositions_batch_response.rb +247 -0
  398. data/lib/api-sdk-rb/models/get_compositions_batch_response_data.rb +227 -0
  399. data/lib/api-sdk-rb/models/get_invoices_by_partner_id200_response.rb +248 -0
  400. data/lib/api-sdk-rb/models/get_managed_user_entitlements_response.rb +247 -0
  401. data/lib/api-sdk-rb/models/get_managed_user_entitlements_response_data.rb +225 -0
  402. data/lib/api-sdk-rb/models/get_managed_user_limits200_response.rb +246 -0
  403. data/lib/api-sdk-rb/models/get_managed_user_storage_usage200_response.rb +246 -0
  404. data/lib/api-sdk-rb/models/get_managed_user_storage_usage200_response_data.rb +253 -0
  405. data/lib/api-sdk-rb/models/get_managed_user_storage_usage200_response_data_by_purpose.rb +241 -0
  406. data/lib/api-sdk-rb/models/get_managed_users_by_manager_id_response.rb +247 -0
  407. data/lib/api-sdk-rb/models/get_managed_users_by_manager_id_response_data.rb +243 -0
  408. data/lib/api-sdk-rb/models/get_partner_billing_overview200_response.rb +246 -0
  409. data/lib/api-sdk-rb/models/get_partner_credit_transactions200_response.rb +248 -0
  410. data/lib/api-sdk-rb/models/get_partner_design_defaults200_response.rb +246 -0
  411. data/lib/api-sdk-rb/models/get_partner_entitlements_response.rb +247 -0
  412. data/lib/api-sdk-rb/models/get_partner_entitlements_response_data.rb +225 -0
  413. data/lib/api-sdk-rb/models/get_personal_workspace_domains200_response.rb +248 -0
  414. data/lib/api-sdk-rb/models/get_public_composition_embed200_response.rb +348 -0
  415. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_data_source.rb +223 -0
  416. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_direct.rb +234 -0
  417. data/lib/api-sdk-rb/models/get_user_adapter_connections200_response.rb +248 -0
  418. data/lib/api-sdk-rb/models/get_user_api_key_usage_logs_response.rb +247 -0
  419. data/lib/api-sdk-rb/models/get_user_api_key_usage_logs_response_data.rb +223 -0
  420. data/lib/api-sdk-rb/models/get_user_api_keys200_response.rb +248 -0
  421. data/lib/api-sdk-rb/models/get_widgets200_response.rb +248 -0
  422. data/lib/api-sdk-rb/models/get_widgets_batch_request.rb +223 -0
  423. data/lib/api-sdk-rb/models/get_widgets_batch_response.rb +247 -0
  424. data/lib/api-sdk-rb/models/get_widgets_batch_response_data.rb +227 -0
  425. data/lib/api-sdk-rb/models/get_widgets_batch_response_data_errors_inner.rb +223 -0
  426. data/lib/api-sdk-rb/models/list_partner_presets200_response.rb +248 -0
  427. data/lib/api-sdk-rb/models/managed_user.rb +312 -0
  428. data/lib/api-sdk-rb/models/managed_user_entries_meta.rb +274 -0
  429. data/lib/api-sdk-rb/models/managed_user_entries_page_success.rb +255 -0
  430. data/lib/api-sdk-rb/models/managed_user_entry_item.rb +313 -0
  431. data/lib/api-sdk-rb/models/managed_user_limits.rb +264 -0
  432. data/lib/api-sdk-rb/models/managed_user_operation_usage.rb +291 -0
  433. data/lib/api-sdk-rb/models/managed_user_removal.rb +239 -0
  434. data/lib/api-sdk-rb/models/managed_user_response.rb +247 -0
  435. data/lib/api-sdk-rb/models/managed_user_usage.rb +308 -0
  436. data/lib/api-sdk-rb/models/managed_user_usage_response.rb +247 -0
  437. data/lib/api-sdk-rb/models/managed_user_usage_totals.rb +270 -0
  438. data/lib/api-sdk-rb/models/my_partner.rb +368 -0
  439. data/lib/api-sdk-rb/models/my_partners.rb +288 -0
  440. data/lib/api-sdk-rb/models/my_partners_response.rb +247 -0
  441. data/lib/api-sdk-rb/models/new_composition.rb +350 -0
  442. data/lib/api-sdk-rb/models/new_editor_session.rb +340 -0
  443. data/lib/api-sdk-rb/models/new_managed_user.rb +242 -0
  444. data/lib/api-sdk-rb/models/new_widget.rb +434 -0
  445. data/lib/api-sdk-rb/models/operations_id_get_response.rb +247 -0
  446. data/lib/api-sdk-rb/models/operations_id_get_response_data.rb +348 -0
  447. data/lib/api-sdk-rb/models/partner_analytics_by_managed_user.rb +272 -0
  448. data/lib/api-sdk-rb/models/partner_analytics_by_managed_user_response.rb +247 -0
  449. data/lib/api-sdk-rb/models/partner_analytics_of_day.rb +270 -0
  450. data/lib/api-sdk-rb/models/partner_analytics_of_managed_user.rb +354 -0
  451. data/lib/api-sdk-rb/models/partner_analytics_of_widget.rb +300 -0
  452. data/lib/api-sdk-rb/models/partner_analytics_summary.rb +336 -0
  453. data/lib/api-sdk-rb/models/partner_analytics_summary_response.rb +247 -0
  454. data/lib/api-sdk-rb/models/partner_analytics_timeline.rb +270 -0
  455. data/lib/api-sdk-rb/models/partner_analytics_timeline_response.rb +247 -0
  456. data/lib/api-sdk-rb/models/partner_analytics_top_widgets.rb +269 -0
  457. data/lib/api-sdk-rb/models/partner_analytics_top_widgets_response.rb +247 -0
  458. data/lib/api-sdk-rb/models/partner_billing_overview.rb +265 -0
  459. data/lib/api-sdk-rb/models/partner_billing_overview_billing_integration.rb +304 -0
  460. data/lib/api-sdk-rb/models/partner_billing_overview_operational_credits.rb +276 -0
  461. data/lib/api-sdk-rb/models/partner_billing_overview_partner.rb +304 -0
  462. data/lib/api-sdk-rb/models/partner_contract.rb +400 -0
  463. data/lib/api-sdk-rb/models/partner_contract_response.rb +247 -0
  464. data/lib/api-sdk-rb/models/partner_customization.rb +414 -0
  465. data/lib/api-sdk-rb/models/partner_data_database.rb +332 -0
  466. data/lib/api-sdk-rb/models/partner_data_database_removal.rb +222 -0
  467. data/lib/api-sdk-rb/models/partner_data_database_removal_response.rb +247 -0
  468. data/lib/api-sdk-rb/models/partner_data_database_response.rb +247 -0
  469. data/lib/api-sdk-rb/models/partner_entry_context_secret.rb +239 -0
  470. data/lib/api-sdk-rb/models/partner_entry_context_secret_response.rb +247 -0
  471. data/lib/api-sdk-rb/models/partner_entry_context_signing.rb +299 -0
  472. data/lib/api-sdk-rb/models/partner_entry_context_signing_response.rb +247 -0
  473. data/lib/api-sdk-rb/models/partner_extra_credits_invoice.rb +394 -0
  474. data/lib/api-sdk-rb/models/partner_extra_credits_invoice_response.rb +247 -0
  475. data/lib/api-sdk-rb/models/partner_invoice.rb +489 -0
  476. data/lib/api-sdk-rb/models/partner_notification.rb +358 -0
  477. data/lib/api-sdk-rb/models/partner_notification_default_recipients.rb +244 -0
  478. data/lib/api-sdk-rb/models/partner_notification_delivery.rb +466 -0
  479. data/lib/api-sdk-rb/models/partner_notification_delivery_log.rb +224 -0
  480. data/lib/api-sdk-rb/models/partner_notification_delivery_log_response.rb +247 -0
  481. data/lib/api-sdk-rb/models/partner_notification_delivery_response.rb +247 -0
  482. data/lib/api-sdk-rb/models/partner_notification_event.rb +351 -0
  483. data/lib/api-sdk-rb/models/partner_notification_event_type.rb +54 -0
  484. data/lib/api-sdk-rb/models/partner_notification_page.rb +237 -0
  485. data/lib/api-sdk-rb/models/partner_notification_page_response.rb +247 -0
  486. data/lib/api-sdk-rb/models/partner_notification_settings.rb +366 -0
  487. data/lib/api-sdk-rb/models/partner_notification_settings_change.rb +235 -0
  488. data/lib/api-sdk-rb/models/partner_notification_settings_change_response.rb +247 -0
  489. data/lib/api-sdk-rb/models/partner_notification_settings_response.rb +247 -0
  490. data/lib/api-sdk-rb/models/partner_notification_test_event_request.rb +244 -0
  491. data/lib/api-sdk-rb/models/partner_notification_test_event_result.rb +263 -0
  492. data/lib/api-sdk-rb/models/partner_notification_test_event_result_response.rb +247 -0
  493. data/lib/api-sdk-rb/models/partner_preset.rb +344 -0
  494. data/lib/api-sdk-rb/models/partner_preset_copy.rb +308 -0
  495. data/lib/api-sdk-rb/models/partner_preset_copy_response.rb +247 -0
  496. data/lib/api-sdk-rb/models/partner_preset_removal.rb +222 -0
  497. data/lib/api-sdk-rb/models/partner_preset_removal_response.rb +247 -0
  498. data/lib/api-sdk-rb/models/partner_preset_response.rb +247 -0
  499. data/lib/api-sdk-rb/models/partner_report_page.rb +257 -0
  500. data/lib/api-sdk-rb/models/partner_report_period.rb +240 -0
  501. data/lib/api-sdk-rb/models/partner_storage_destination.rb +393 -0
  502. data/lib/api-sdk-rb/models/partner_storage_destination_response.rb +247 -0
  503. data/lib/api-sdk-rb/models/partner_storage_removal.rb +222 -0
  504. data/lib/api-sdk-rb/models/partner_storage_removal_response.rb +247 -0
  505. data/lib/api-sdk-rb/models/partner_storage_usage.rb +272 -0
  506. data/lib/api-sdk-rb/models/partner_storage_usage_of_managed_user.rb +334 -0
  507. data/lib/api-sdk-rb/models/partner_storage_usage_response.rb +247 -0
  508. data/lib/api-sdk-rb/models/partner_storage_usage_totals.rb +273 -0
  509. data/lib/api-sdk-rb/models/personal_workspace_domain.rb +275 -0
  510. data/lib/api-sdk-rb/models/personal_workspace_domain_result.rb +237 -0
  511. data/lib/api-sdk-rb/models/personal_workspace_domain_result_response.rb +247 -0
  512. data/lib/api-sdk-rb/models/post_public_composition_embed_status200_response.rb +246 -0
  513. data/lib/api-sdk-rb/models/post_public_composition_embed_status200_response_data.rb +239 -0
  514. data/lib/api-sdk-rb/models/post_public_composition_embed_status_request.rb +251 -0
  515. data/lib/api-sdk-rb/models/public_adapter_call_error.rb +265 -0
  516. data/lib/api-sdk-rb/models/public_adapter_call_request.rb +332 -0
  517. data/lib/api-sdk-rb/models/public_adapter_call_result.rb +237 -0
  518. data/lib/api-sdk-rb/models/public_adapter_call_result_data.rb +224 -0
  519. data/lib/api-sdk-rb/models/public_adapter_file_result.rb +237 -0
  520. data/lib/api-sdk-rb/models/public_adapter_file_result_data.rb +221 -0
  521. data/lib/api-sdk-rb/models/public_adapter_file_result_data_file.rb +318 -0
  522. data/lib/api-sdk-rb/models/public_composition_entry_created.rb +237 -0
  523. data/lib/api-sdk-rb/models/public_composition_entry_created_data.rb +253 -0
  524. data/lib/api-sdk-rb/models/public_composition_entry_request.rb +246 -0
  525. data/lib/api-sdk-rb/models/public_embed_failure.rb +291 -0
  526. data/lib/api-sdk-rb/models/public_embed_failure_details.rb +260 -0
  527. data/lib/api-sdk-rb/models/public_embed_failure_error.rb +283 -0
  528. data/lib/api-sdk-rb/models/purpose_storage_bucket.rb +237 -0
  529. data/lib/api-sdk-rb/models/remove_ai_answers_knowledge_document200_response.rb +246 -0
  530. data/lib/api-sdk-rb/models/remove_user_adapter_connection200_response.rb +246 -0
  531. data/lib/api-sdk-rb/models/request_extra_credits.rb +250 -0
  532. data/lib/api-sdk-rb/models/response_meta.rb +297 -0
  533. data/lib/api-sdk-rb/models/revoke_managed_user_editor_sessions_response.rb +247 -0
  534. data/lib/api-sdk-rb/models/revoke_managed_user_editor_sessions_response_data.rb +215 -0
  535. data/lib/api-sdk-rb/models/set_adapter_connection_request.rb +241 -0
  536. data/lib/api-sdk-rb/models/set_composition_data_source_request.rb +284 -0
  537. data/lib/api-sdk-rb/models/set_dynamic_content_request.rb +266 -0
  538. data/lib/api-sdk-rb/models/set_dynamic_content_response.rb +247 -0
  539. data/lib/api-sdk-rb/models/set_dynamic_content_response_data.rb +251 -0
  540. data/lib/api-sdk-rb/models/set_dynamic_content_response_data_validation_result.rb +236 -0
  541. data/lib/api-sdk-rb/models/set_managed_user_limits_request.rb +241 -0
  542. data/lib/api-sdk-rb/models/set_partner_data_database_request.rb +222 -0
  543. data/lib/api-sdk-rb/models/set_partner_design_defaults_request.rb +217 -0
  544. data/lib/api-sdk-rb/models/set_partner_preset_request.rb +322 -0
  545. data/lib/api-sdk-rb/models/set_partner_storage_destination_request.rb +331 -0
  546. data/lib/api-sdk-rb/models/set_user_adapter_connection200_response.rb +246 -0
  547. data/lib/api-sdk-rb/models/success_response.rb +250 -0
  548. data/lib/api-sdk-rb/models/update_canvas_request.rb +236 -0
  549. data/lib/api-sdk-rb/models/update_composition.rb +285 -0
  550. data/lib/api-sdk-rb/models/update_composition_status_request.rb +256 -0
  551. data/lib/api-sdk-rb/models/update_domain_request.rb +223 -0
  552. data/lib/api-sdk-rb/models/update_managed_user.rb +235 -0
  553. data/lib/api-sdk-rb/models/update_partner_entry_context_signing_request.rb +222 -0
  554. data/lib/api-sdk-rb/models/update_partner_notification_settings_request.rb +289 -0
  555. data/lib/api-sdk-rb/models/update_user_api_key_request.rb +254 -0
  556. data/lib/api-sdk-rb/models/upload.rb +462 -0
  557. data/lib/api-sdk-rb/models/upload_limits.rb +269 -0
  558. data/lib/api-sdk-rb/models/upload_limits_response.rb +247 -0
  559. data/lib/api-sdk-rb/models/upload_response.rb +247 -0
  560. data/lib/api-sdk-rb/models/uploads_get200_response.rb +248 -0
  561. data/lib/api-sdk-rb/models/uploads_id_delete200_response.rb +246 -0
  562. data/lib/api-sdk-rb/models/uploads_id_delete200_response_data.rb +214 -0
  563. data/lib/api-sdk-rb/models/user_api_key.rb +382 -0
  564. data/lib/api-sdk-rb/models/user_api_key_response.rb +247 -0
  565. data/lib/api-sdk-rb/models/user_api_key_usage_log.rb +326 -0
  566. data/lib/api-sdk-rb/models/validate_composition_content_response.rb +247 -0
  567. data/lib/api-sdk-rb/models/validate_composition_content_response_data.rb +258 -0
  568. data/lib/api-sdk-rb/models/validate_token200_response.rb +246 -0
  569. data/lib/api-sdk-rb/models/validate_token200_response_data.rb +286 -0
  570. data/lib/api-sdk-rb/models/widget.rb +475 -0
  571. data/lib/api-sdk-rb/version.rb +15 -0
  572. data/lib/api-sdk-rb.rb +319 -0
  573. data/spec/api/canvases_api_spec.rb +104 -0
  574. data/spec/api/compositions_api_spec.rb +578 -0
  575. data/spec/api/credits_api_spec.rb +62 -0
  576. data/spec/api/entitlements_api_spec.rb +65 -0
  577. data/spec/api/invoices_api_spec.rb +50 -0
  578. data/spec/api/managed_users_api_spec.rb +256 -0
  579. data/spec/api/operations_api_spec.rb +47 -0
  580. data/spec/api/partner_api_spec.rb +1895 -0
  581. data/spec/api/partners_api_spec.rb +525 -0
  582. data/spec/api/public_embed_api_spec.rb +115 -0
  583. data/spec/api/tokens_api_spec.rb +45 -0
  584. data/spec/api/uploads_api_spec.rb +101 -0
  585. data/spec/api/users_api_spec.rb +195 -0
  586. data/spec/api/widgets_api_spec.rb +90 -0
  587. data/spec/models/account_credit_balance_response_spec.rb +48 -0
  588. data/spec/models/account_credit_balance_spec.rb +60 -0
  589. data/spec/models/account_credit_transaction_spec.rb +72 -0
  590. data/spec/models/adapter_connection_removal_spec.rb +36 -0
  591. data/spec/models/adapter_connection_spec.rb +76 -0
  592. data/spec/models/add_ai_answers_knowledge_document201_response_spec.rb +48 -0
  593. data/spec/models/add_ai_answers_knowledge_document_request_spec.rb +42 -0
  594. data/spec/models/add_domain_request_spec.rb +36 -0
  595. data/spec/models/ai_answers_knowledge_document_spec.rb +76 -0
  596. data/spec/models/ai_answers_knowledge_removal_spec.rb +36 -0
  597. data/spec/models/ai_answers_knowledge_spec.rb +42 -0
  598. data/spec/models/ai_answers_knowledge_totals_spec.rb +54 -0
  599. data/spec/models/api_key_scope_spec.rb +30 -0
  600. data/spec/models/canvas_response_spec.rb +48 -0
  601. data/spec/models/canvas_spec.rb +78 -0
  602. data/spec/models/check_composition_access_response_data_spec.rb +42 -0
  603. data/spec/models/check_composition_access_response_spec.rb +48 -0
  604. data/spec/models/composition_data_source_response_spec.rb +48 -0
  605. data/spec/models/composition_data_source_spec.rb +42 -0
  606. data/spec/models/composition_entries_description_response_spec.rb +48 -0
  607. data/spec/models/composition_entries_description_spec.rb +48 -0
  608. data/spec/models/composition_entries_reading_response_spec.rb +48 -0
  609. data/spec/models/composition_entries_reading_spec.rb +84 -0
  610. data/spec/models/composition_entry_aggregate_tally_spec.rb +66 -0
  611. data/spec/models/composition_entry_aggregates_block_spec.rb +48 -0
  612. data/spec/models/composition_entry_column_spec.rb +42 -0
  613. data/spec/models/composition_entry_delete_success_data_spec.rb +36 -0
  614. data/spec/models/composition_entry_delete_success_spec.rb +42 -0
  615. data/spec/models/composition_entry_item_spec.rb +60 -0
  616. data/spec/models/composition_entry_items_meta_spec.rb +52 -0
  617. data/spec/models/composition_entry_items_page_success_spec.rb +48 -0
  618. data/spec/models/composition_entry_table_spec.rb +48 -0
  619. data/spec/models/composition_entry_tally_spec.rb +42 -0
  620. data/spec/models/composition_response_spec.rb +48 -0
  621. data/spec/models/composition_spec.rb +124 -0
  622. data/spec/models/composition_version_spec.rb +60 -0
  623. data/spec/models/content_check_finding_spec.rb +54 -0
  624. data/spec/models/content_item_write_result_spec.rb +66 -0
  625. data/spec/models/content_item_write_result_validation_result_spec.rb +48 -0
  626. data/spec/models/copy_partner_preset_request_spec.rb +36 -0
  627. data/spec/models/create_canvas_request_spec.rb +66 -0
  628. data/spec/models/create_composition_content_item201_response_spec.rb +48 -0
  629. data/spec/models/create_composition_content_item_request_spec.rb +36 -0
  630. data/spec/models/create_composition_database_record201_response_spec.rb +48 -0
  631. data/spec/models/create_composition_from_preset_request_spec.rb +60 -0
  632. data/spec/models/create_composition_from_widget201_response_spec.rb +48 -0
  633. data/spec/models/create_composition_from_widget_request_spec.rb +66 -0
  634. data/spec/models/create_user_api_key_request_spec.rb +58 -0
  635. data/spec/models/create_widget201_response_data_spec.rb +172 -0
  636. data/spec/models/create_widget201_response_spec.rb +48 -0
  637. data/spec/models/created_user_api_key_response_spec.rb +48 -0
  638. data/spec/models/created_user_api_key_spec.rb +88 -0
  639. data/spec/models/delete_composition_content_item_response_data_spec.rb +42 -0
  640. data/spec/models/delete_composition_content_item_response_spec.rb +48 -0
  641. data/spec/models/delete_composition_data_source_response_data_spec.rb +36 -0
  642. data/spec/models/delete_composition_data_source_response_spec.rb +48 -0
  643. data/spec/models/delete_managed_user200_response_spec.rb +48 -0
  644. data/spec/models/delete_personal_workspace_domain_response_data_spec.rb +36 -0
  645. data/spec/models/delete_personal_workspace_domain_response_spec.rb +48 -0
  646. data/spec/models/delete_user_api_key_response_data_spec.rb +36 -0
  647. data/spec/models/delete_user_api_key_response_spec.rb +48 -0
  648. data/spec/models/design_defaults_spec.rb +36 -0
  649. data/spec/models/duplicate_composition202_response_data_spec.rb +36 -0
  650. data/spec/models/duplicate_composition202_response_spec.rb +48 -0
  651. data/spec/models/duplicate_composition_request_spec.rb +42 -0
  652. data/spec/models/editor_session_response_spec.rb +48 -0
  653. data/spec/models/editor_session_spec.rb +88 -0
  654. data/spec/models/entitlement_spec.rb +100 -0
  655. data/spec/models/error_detail_spec.rb +84 -0
  656. data/spec/models/error_response_spec.rb +48 -0
  657. data/spec/models/export_composition_entry_items200_response_meta_spec.rb +42 -0
  658. data/spec/models/export_composition_entry_items200_response_spec.rb +48 -0
  659. data/spec/models/get_ai_answers_knowledge200_response_spec.rb +48 -0
  660. data/spec/models/get_all_canvases_response_data_spec.rb +54 -0
  661. data/spec/models/get_all_canvases_response_spec.rb +48 -0
  662. data/spec/models/get_all_compositions200_response_spec.rb +48 -0
  663. data/spec/models/get_all_managed_users200_response_spec.rb +48 -0
  664. data/spec/models/get_composition_content_response_spec.rb +48 -0
  665. data/spec/models/get_composition_content_schema_response_data_spec.rb +66 -0
  666. data/spec/models/get_composition_content_schema_response_spec.rb +48 -0
  667. data/spec/models/get_composition_data_source_response_spec.rb +48 -0
  668. data/spec/models/get_composition_database_records200_response_spec.rb +48 -0
  669. data/spec/models/get_composition_design_response_spec.rb +48 -0
  670. data/spec/models/get_composition_design_schema_response_data_spec.rb +66 -0
  671. data/spec/models/get_composition_design_schema_response_spec.rb +48 -0
  672. data/spec/models/get_composition_embed_schema_response_data_spec.rb +70 -0
  673. data/spec/models/get_composition_embed_schema_response_spec.rb +48 -0
  674. data/spec/models/get_composition_embed_settings_response_spec.rb +48 -0
  675. data/spec/models/get_composition_preview_response_data_spec.rb +54 -0
  676. data/spec/models/get_composition_preview_response_spec.rb +48 -0
  677. data/spec/models/get_composition_versions200_response_spec.rb +48 -0
  678. data/spec/models/get_compositions_batch_request_spec.rb +36 -0
  679. data/spec/models/get_compositions_batch_response_data_spec.rb +42 -0
  680. data/spec/models/get_compositions_batch_response_spec.rb +48 -0
  681. data/spec/models/get_invoices_by_partner_id200_response_spec.rb +48 -0
  682. data/spec/models/get_managed_user_entitlements_response_data_spec.rb +42 -0
  683. data/spec/models/get_managed_user_entitlements_response_spec.rb +48 -0
  684. data/spec/models/get_managed_user_limits200_response_spec.rb +48 -0
  685. data/spec/models/get_managed_user_storage_usage200_response_data_by_purpose_spec.rb +54 -0
  686. data/spec/models/get_managed_user_storage_usage200_response_data_spec.rb +48 -0
  687. data/spec/models/get_managed_user_storage_usage200_response_spec.rb +48 -0
  688. data/spec/models/get_managed_users_by_manager_id_response_data_spec.rb +54 -0
  689. data/spec/models/get_managed_users_by_manager_id_response_spec.rb +48 -0
  690. data/spec/models/get_partner_billing_overview200_response_spec.rb +48 -0
  691. data/spec/models/get_partner_credit_transactions200_response_spec.rb +48 -0
  692. data/spec/models/get_partner_design_defaults200_response_spec.rb +48 -0
  693. data/spec/models/get_partner_entitlements_response_data_spec.rb +42 -0
  694. data/spec/models/get_partner_entitlements_response_spec.rb +48 -0
  695. data/spec/models/get_personal_workspace_domains200_response_spec.rb +48 -0
  696. data/spec/models/get_public_composition_embed200_response_data_source_spec.rb +42 -0
  697. data/spec/models/get_public_composition_embed200_response_direct_spec.rb +48 -0
  698. data/spec/models/get_public_composition_embed200_response_spec.rb +120 -0
  699. data/spec/models/get_user_adapter_connections200_response_spec.rb +48 -0
  700. data/spec/models/get_user_api_key_usage_logs_response_data_spec.rb +36 -0
  701. data/spec/models/get_user_api_key_usage_logs_response_spec.rb +48 -0
  702. data/spec/models/get_user_api_keys200_response_spec.rb +48 -0
  703. data/spec/models/get_widgets200_response_spec.rb +48 -0
  704. data/spec/models/get_widgets_batch_request_spec.rb +36 -0
  705. data/spec/models/get_widgets_batch_response_data_errors_inner_spec.rb +42 -0
  706. data/spec/models/get_widgets_batch_response_data_spec.rb +42 -0
  707. data/spec/models/get_widgets_batch_response_spec.rb +48 -0
  708. data/spec/models/list_partner_presets200_response_spec.rb +48 -0
  709. data/spec/models/managed_user_entries_meta_spec.rb +60 -0
  710. data/spec/models/managed_user_entries_page_success_spec.rb +48 -0
  711. data/spec/models/managed_user_entry_item_spec.rb +72 -0
  712. data/spec/models/managed_user_limits_spec.rb +54 -0
  713. data/spec/models/managed_user_operation_usage_spec.rb +60 -0
  714. data/spec/models/managed_user_removal_spec.rb +42 -0
  715. data/spec/models/managed_user_response_spec.rb +48 -0
  716. data/spec/models/managed_user_spec.rb +72 -0
  717. data/spec/models/managed_user_usage_response_spec.rb +48 -0
  718. data/spec/models/managed_user_usage_spec.rb +66 -0
  719. data/spec/models/managed_user_usage_totals_spec.rb +54 -0
  720. data/spec/models/my_partner_spec.rb +88 -0
  721. data/spec/models/my_partners_response_spec.rb +48 -0
  722. data/spec/models/my_partners_spec.rb +52 -0
  723. data/spec/models/new_composition_spec.rb +96 -0
  724. data/spec/models/new_editor_session_spec.rb +58 -0
  725. data/spec/models/new_managed_user_spec.rb +48 -0
  726. data/spec/models/new_widget_spec.rb +100 -0
  727. data/spec/models/operations_id_get_response_data_spec.rb +82 -0
  728. data/spec/models/operations_id_get_response_spec.rb +48 -0
  729. data/spec/models/partner_analytics_by_managed_user_response_spec.rb +48 -0
  730. data/spec/models/partner_analytics_by_managed_user_spec.rb +54 -0
  731. data/spec/models/partner_analytics_of_day_spec.rb +54 -0
  732. data/spec/models/partner_analytics_of_managed_user_spec.rb +90 -0
  733. data/spec/models/partner_analytics_of_widget_spec.rb +66 -0
  734. data/spec/models/partner_analytics_summary_response_spec.rb +48 -0
  735. data/spec/models/partner_analytics_summary_spec.rb +78 -0
  736. data/spec/models/partner_analytics_timeline_response_spec.rb +48 -0
  737. data/spec/models/partner_analytics_timeline_spec.rb +54 -0
  738. data/spec/models/partner_analytics_top_widgets_response_spec.rb +48 -0
  739. data/spec/models/partner_analytics_top_widgets_spec.rb +54 -0
  740. data/spec/models/partner_billing_overview_billing_integration_spec.rb +58 -0
  741. data/spec/models/partner_billing_overview_operational_credits_spec.rb +54 -0
  742. data/spec/models/partner_billing_overview_partner_spec.rb +58 -0
  743. data/spec/models/partner_billing_overview_spec.rb +54 -0
  744. data/spec/models/partner_contract_response_spec.rb +48 -0
  745. data/spec/models/partner_contract_spec.rb +130 -0
  746. data/spec/models/partner_customization_spec.rb +136 -0
  747. data/spec/models/partner_data_database_removal_response_spec.rb +48 -0
  748. data/spec/models/partner_data_database_removal_spec.rb +36 -0
  749. data/spec/models/partner_data_database_response_spec.rb +48 -0
  750. data/spec/models/partner_data_database_spec.rb +78 -0
  751. data/spec/models/partner_entry_context_secret_response_spec.rb +48 -0
  752. data/spec/models/partner_entry_context_secret_spec.rb +42 -0
  753. data/spec/models/partner_entry_context_signing_response_spec.rb +48 -0
  754. data/spec/models/partner_entry_context_signing_spec.rb +66 -0
  755. data/spec/models/partner_extra_credits_invoice_response_spec.rb +48 -0
  756. data/spec/models/partner_extra_credits_invoice_spec.rb +102 -0
  757. data/spec/models/partner_invoice_spec.rb +178 -0
  758. data/spec/models/partner_notification_default_recipients_spec.rb +42 -0
  759. data/spec/models/partner_notification_delivery_log_response_spec.rb +48 -0
  760. data/spec/models/partner_notification_delivery_log_spec.rb +36 -0
  761. data/spec/models/partner_notification_delivery_response_spec.rb +48 -0
  762. data/spec/models/partner_notification_delivery_spec.rb +128 -0
  763. data/spec/models/partner_notification_event_spec.rb +74 -0
  764. data/spec/models/partner_notification_event_type_spec.rb +30 -0
  765. data/spec/models/partner_notification_page_response_spec.rb +48 -0
  766. data/spec/models/partner_notification_page_spec.rb +42 -0
  767. data/spec/models/partner_notification_settings_change_response_spec.rb +48 -0
  768. data/spec/models/partner_notification_settings_change_spec.rb +42 -0
  769. data/spec/models/partner_notification_settings_response_spec.rb +48 -0
  770. data/spec/models/partner_notification_settings_spec.rb +90 -0
  771. data/spec/models/partner_notification_spec.rb +76 -0
  772. data/spec/models/partner_notification_test_event_request_spec.rb +36 -0
  773. data/spec/models/partner_notification_test_event_result_response_spec.rb +48 -0
  774. data/spec/models/partner_notification_test_event_result_spec.rb +54 -0
  775. data/spec/models/partner_preset_copy_response_spec.rb +48 -0
  776. data/spec/models/partner_preset_copy_spec.rb +66 -0
  777. data/spec/models/partner_preset_removal_response_spec.rb +48 -0
  778. data/spec/models/partner_preset_removal_spec.rb +36 -0
  779. data/spec/models/partner_preset_response_spec.rb +48 -0
  780. data/spec/models/partner_preset_spec.rb +84 -0
  781. data/spec/models/partner_report_page_spec.rb +48 -0
  782. data/spec/models/partner_report_period_spec.rb +42 -0
  783. data/spec/models/partner_storage_destination_response_spec.rb +48 -0
  784. data/spec/models/partner_storage_destination_spec.rb +102 -0
  785. data/spec/models/partner_storage_removal_response_spec.rb +48 -0
  786. data/spec/models/partner_storage_removal_spec.rb +36 -0
  787. data/spec/models/partner_storage_usage_of_managed_user_spec.rb +84 -0
  788. data/spec/models/partner_storage_usage_response_spec.rb +48 -0
  789. data/spec/models/partner_storage_usage_spec.rb +54 -0
  790. data/spec/models/partner_storage_usage_totals_spec.rb +54 -0
  791. data/spec/models/personal_workspace_domain_result_response_spec.rb +48 -0
  792. data/spec/models/personal_workspace_domain_result_spec.rb +42 -0
  793. data/spec/models/personal_workspace_domain_spec.rb +60 -0
  794. data/spec/models/post_public_composition_embed_status200_response_data_spec.rb +40 -0
  795. data/spec/models/post_public_composition_embed_status200_response_spec.rb +48 -0
  796. data/spec/models/post_public_composition_embed_status_request_spec.rb +36 -0
  797. data/spec/models/public_adapter_call_error_spec.rb +54 -0
  798. data/spec/models/public_adapter_call_request_spec.rb +60 -0
  799. data/spec/models/public_adapter_call_result_data_spec.rb +36 -0
  800. data/spec/models/public_adapter_call_result_spec.rb +42 -0
  801. data/spec/models/public_adapter_file_result_data_file_spec.rb +66 -0
  802. data/spec/models/public_adapter_file_result_data_spec.rb +36 -0
  803. data/spec/models/public_adapter_file_result_spec.rb +42 -0
  804. data/spec/models/public_composition_entry_created_data_spec.rb +48 -0
  805. data/spec/models/public_composition_entry_created_spec.rb +42 -0
  806. data/spec/models/public_composition_entry_request_spec.rb +48 -0
  807. data/spec/models/public_embed_failure_details_spec.rb +46 -0
  808. data/spec/models/public_embed_failure_error_spec.rb +66 -0
  809. data/spec/models/public_embed_failure_spec.rb +66 -0
  810. data/spec/models/purpose_storage_bucket_spec.rb +42 -0
  811. data/spec/models/remove_ai_answers_knowledge_document200_response_spec.rb +48 -0
  812. data/spec/models/remove_user_adapter_connection200_response_spec.rb +48 -0
  813. data/spec/models/request_extra_credits_spec.rb +36 -0
  814. data/spec/models/response_meta_spec.rb +84 -0
  815. data/spec/models/revoke_managed_user_editor_sessions_response_data_spec.rb +36 -0
  816. data/spec/models/revoke_managed_user_editor_sessions_response_spec.rb +48 -0
  817. data/spec/models/set_adapter_connection_request_spec.rb +36 -0
  818. data/spec/models/set_composition_data_source_request_spec.rb +42 -0
  819. data/spec/models/set_dynamic_content_request_spec.rb +60 -0
  820. data/spec/models/set_dynamic_content_response_data_spec.rb +60 -0
  821. data/spec/models/set_dynamic_content_response_data_validation_result_spec.rb +48 -0
  822. data/spec/models/set_dynamic_content_response_spec.rb +48 -0
  823. data/spec/models/set_managed_user_limits_request_spec.rb +36 -0
  824. data/spec/models/set_partner_data_database_request_spec.rb +36 -0
  825. data/spec/models/set_partner_design_defaults_request_spec.rb +36 -0
  826. data/spec/models/set_partner_preset_request_spec.rb +54 -0
  827. data/spec/models/set_partner_storage_destination_request_spec.rb +78 -0
  828. data/spec/models/set_user_adapter_connection200_response_spec.rb +48 -0
  829. data/spec/models/success_response_spec.rb +48 -0
  830. data/spec/models/update_canvas_request_spec.rb +48 -0
  831. data/spec/models/update_composition_spec.rb +78 -0
  832. data/spec/models/update_composition_status_request_spec.rb +40 -0
  833. data/spec/models/update_domain_request_spec.rb +36 -0
  834. data/spec/models/update_managed_user_spec.rb +48 -0
  835. data/spec/models/update_partner_entry_context_signing_request_spec.rb +36 -0
  836. data/spec/models/update_partner_notification_settings_request_spec.rb +54 -0
  837. data/spec/models/update_user_api_key_request_spec.rb +42 -0
  838. data/spec/models/upload_limits_response_spec.rb +48 -0
  839. data/spec/models/upload_limits_spec.rb +66 -0
  840. data/spec/models/upload_response_spec.rb +48 -0
  841. data/spec/models/upload_spec.rb +126 -0
  842. data/spec/models/uploads_get200_response_spec.rb +48 -0
  843. data/spec/models/uploads_id_delete200_response_data_spec.rb +36 -0
  844. data/spec/models/uploads_id_delete200_response_spec.rb +48 -0
  845. data/spec/models/user_api_key_response_spec.rb +48 -0
  846. data/spec/models/user_api_key_spec.rb +88 -0
  847. data/spec/models/user_api_key_usage_log_spec.rb +78 -0
  848. data/spec/models/validate_composition_content_response_data_spec.rb +54 -0
  849. data/spec/models/validate_composition_content_response_spec.rb +48 -0
  850. data/spec/models/validate_token200_response_data_spec.rb +64 -0
  851. data/spec/models/validate_token200_response_spec.rb +48 -0
  852. data/spec/models/widget_spec.rb +166 -0
  853. data/spec/spec_helper.rb +111 -0
  854. metadata +1216 -0
@@ -0,0 +1,578 @@
1
+ =begin
2
+ #Widgetic API Gateway
3
+
4
+ #API documentation for the Widgetic API Gateway
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for ApiSdkRb::CompositionsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'CompositionsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = ApiSdkRb::CompositionsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of CompositionsApi' do
30
+ it 'should create an instance of CompositionsApi' do
31
+ expect(@api_instance).to be_instance_of(ApiSdkRb::CompositionsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for add_ai_answers_knowledge_document_0
36
+ # Add a document for a widget's AI to answer from
37
+ # Gives the widget's AI a document to answer visitors' questions from. Send the title and the plain text. The call returns once the document is ready to be used, which takes a few seconds, longer for a long text. **How it is used.** The text is cleaned, cut into short passages and each passage is turned into numbers (an embedding) so the widget can find the passages nearest to a question. When a visitor asks, the nearest passages and the question are shown to an AI model, which writes the answer from them and from nothing else; if the documents say nothing about the question the visitor is told so, and the owner is not charged for that question. The titles of the documents an answer used are shown to the visitor as its sources. **What leaves Widgetic.** The text of a document is sent to OpenAI to be embedded when it is added, and the passages used for a question are sent to the AI model that writes the answer. Say so in your privacy policy. **Treat every document as public.** An answer can quote or paraphrase anything a document says, to any visitor of the widget. Do not add passwords, keys, personal data or anything that must stay private. **Limits.** A widget holds up to 20 documents, each up to 100000 characters, and up to 400000 characters in all (`getAiAnswersKnowledge` reports the current numbers). Text only: convert PDF or Word files to text first. Adding a document costs no credits. The same text cannot be added twice to one widget (409). The caller must be allowed to change the widget. An API key needs the `content:write` scope. Adds are limited to ten in ten minutes per person.
38
+ # @param id The widget (composition) to add the document to
39
+ # @param add_ai_answers_knowledge_document_request
40
+ # @param [Hash] opts the optional parameters
41
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
42
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
43
+ # @return [AddAiAnswersKnowledgeDocument201Response]
44
+ describe 'add_ai_answers_knowledge_document_0 test' do
45
+ it 'should work' do
46
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
47
+ end
48
+ end
49
+
50
+ # unit tests for check_composition_access_0
51
+ # Check Composition Access
52
+ # Checks if the authenticated user can access a specific composition based on workspace context and permissions.
53
+ # @param id Composition ID
54
+ # @param [Hash] opts the optional parameters
55
+ # @return [CheckCompositionAccessResponse]
56
+ describe 'check_composition_access_0 test' do
57
+ it 'should work' do
58
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
59
+ end
60
+ end
61
+
62
+ # unit tests for create_composition_0
63
+ # Create Composition
64
+ # Creates a new composition. To make the composition for one of your managed users, send `managedUserId` or `managedUserExternalId`. The composition stays in your account and is yours to edit; the tag lets you list one user's compositions with `getAllCompositions`. The managed user must be yours and active: one that is not yours, or does not exist, is answered with 404 and `MANAGED_USER_NOT_FOUND`, and one that is switched off with 409 and `MANAGED_USER_INACTIVE`. The tag is set here and does not change afterwards. A copy made with `duplicateComposition` keeps the tag of the original. An editor session with the `creator` surface may call this to start a composition of a widget it built: it sends only `name`, `widgetId` (a widget made for the session's managed user) and `content`, and the composition is always made for that managed user. Send `databaseSchema` to give the composition tables of its own for what visitors send it (the shape, the allowed types and the limits are described on the field). A `databaseSchema` that cannot be used is refused before anything is created, with `400` and `INVALID_DATABASE_SCHEMA`. If the composition is created but its tables cannot be made just now, the answer is still `201` and `meta.warnings` says so. Leave `databaseSchema` out and the composition gets the tables its widget declares in its own source (`src/lib/meta/database.json`), if it declares any: they are made the same way, in a schema of the composition's own. A widget that keeps nothing leaves the composition without tables. If the widget's file cannot be used, or its tables cannot be made just now, the answer is still `201` and `meta.warnings` says so. The widget is read as it was when it was last published (as it is now, when it never was). The `Idempotency-Key` header is required (`400` without it). Send the same key when you retry, so one composition is created, not two.
65
+ # @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
66
+ # @param new_composition
67
+ # @param [Hash] opts the optional parameters
68
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
69
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
70
+ # @return [CreateCompositionFromWidget201Response]
71
+ describe 'create_composition_0 test' do
72
+ it 'should work' do
73
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
74
+ end
75
+ end
76
+
77
+ # unit tests for create_composition_content_item_0
78
+ # Add a content list item
79
+ # Creates one item in a widget content list without replacing the whole list. Item field keys are widget data (camelCase or snake_case are kept as sent). Partners use this to keep galleries in sync.
80
+ # @param id
81
+ # @param list List name from the content schema (`contentItems`) or `items`
82
+ # @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
83
+ # @param create_composition_content_item_request
84
+ # @param [Hash] opts the optional parameters
85
+ # @option opts [String] :if_match Optional content version from ETag
86
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
87
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
88
+ # @return [CreateCompositionContentItem201Response]
89
+ describe 'create_composition_content_item_0 test' do
90
+ it 'should work' do
91
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
92
+ end
93
+ end
94
+
95
+ # unit tests for create_composition_database_record_0
96
+ # Create Record In Composition Database
97
+ # Creates a new record in one of the composition's tables. Only the composition's own tables (made from its `databaseSchema` or from the tables its widget declares) can be reached; any other table name answers `404`.
98
+ # @param id ID of the composition
99
+ # @param table Name of the database table
100
+ # @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
101
+ # @param body
102
+ # @param [Hash] opts the optional parameters
103
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
104
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
105
+ # @return [CreateCompositionDatabaseRecord201Response]
106
+ describe 'create_composition_database_record_0 test' do
107
+ it 'should work' do
108
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
109
+ end
110
+ end
111
+
112
+ # unit tests for delete_composition_0
113
+ # Delete Composition
114
+ # Deletes a specific composition, and the data it keeps (the tables it declared and what visitors left in them).
115
+ # @param id The ID of the composition to delete
116
+ # @param [Hash] opts the optional parameters
117
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
118
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
119
+ # @return [nil]
120
+ describe 'delete_composition_0 test' do
121
+ it 'should work' do
122
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
123
+ end
124
+ end
125
+
126
+ # unit tests for delete_composition_content_item_0
127
+ # Delete a content list item
128
+ # @param id
129
+ # @param list
130
+ # @param item_id
131
+ # @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
132
+ # @param [Hash] opts the optional parameters
133
+ # @option opts [String] :if_match
134
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
135
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
136
+ # @return [DeleteCompositionContentItemResponse]
137
+ describe 'delete_composition_content_item_0 test' do
138
+ it 'should work' do
139
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
140
+ end
141
+ end
142
+
143
+ # unit tests for delete_composition_data_source_0
144
+ # Remove the composition data source binding
145
+ # Removes the binding. Asking again, or asking for a composition that had none, is not an error: the composition has no data source afterwards, and that is all `removed: true` says.
146
+ # @param id
147
+ # @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
148
+ # @param [Hash] opts the optional parameters
149
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
150
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
151
+ # @return [DeleteCompositionDataSourceResponse]
152
+ describe 'delete_composition_data_source_0 test' do
153
+ it 'should work' do
154
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
155
+ end
156
+ end
157
+
158
+ # unit tests for delete_composition_database_record_0
159
+ # Delete Record From Composition Database
160
+ # Deletes a specific record from one of the composition's tables. Only the composition's own tables (made from its `databaseSchema` or from the tables its widget declares) can be reached; any other table name answers `404`.
161
+ # @param id ID of the composition
162
+ # @param table Name of the database table
163
+ # @param record_id ID of the record to delete
164
+ # @param [Hash] opts the optional parameters
165
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
166
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
167
+ # @return [CreateCompositionDatabaseRecord201Response]
168
+ describe 'delete_composition_database_record_0 test' do
169
+ it 'should work' do
170
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
171
+ end
172
+ end
173
+
174
+ # unit tests for describe_composition_entries_0
175
+ # Describe What a Composition Keeps
176
+ # Names the tables a composition's widget keeps entries in (the votes, ratings, answers or sign-ups its visitors left), their columns, and how many entries each holds. Call it first to learn the table and column names that `readCompositionEntries` takes. A widget that only shows content keeps nothing of its own: the answer is `hasData: false` with no tables, and that is not an error. A table that could not be counted has `rows: null`, which is not zero. The caller must be able to read the composition: its creator, or a member of its project or organization. An editor session cannot call this route.
177
+ # @param id ID of the composition
178
+ # @param [Hash] opts the optional parameters
179
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
180
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
181
+ # @return [CompositionEntriesDescriptionResponse]
182
+ describe 'describe_composition_entries_0 test' do
183
+ it 'should work' do
184
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
185
+ end
186
+ end
187
+
188
+ # unit tests for duplicate_composition_0
189
+ # Duplicate Composition
190
+ # Creates a duplicate of an existing composition for the authenticated user. The duplicate is made after the answer: the call returns `202` with an `operationId`. Ask `GET /operations/{id}` for that operation until its `status` is `completed`; the new composition is named in `metadata.newCompositionId`. A problem with the duplicate's database (for example, tables that could not be made just now) is listed in `metadata.warnings`, which is absent when there is none. The `Idempotency-Key` header is required (`400` without it). Send the same key when you retry, so one duplicate is made, not two.
191
+ # @param id ID of the composition to duplicate
192
+ # @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
193
+ # @param [Hash] opts the optional parameters
194
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
195
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
196
+ # @option opts [DuplicateCompositionRequest] :duplicate_composition_request
197
+ # @return [DuplicateComposition202Response]
198
+ describe 'duplicate_composition_0 test' do
199
+ it 'should work' do
200
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
201
+ end
202
+ end
203
+
204
+ # unit tests for get_ai_answers_knowledge_0
205
+ # See the documents a widget's AI answers from
206
+ # The `ai-answers` adapter lets a widget answer a visitor's question with text an AI model writes from documents the widget's owner provides. This lists those documents, and how much room is left for more: `totals` carries the widget's limits next to what it uses. The list never contains what a document says, only which documents there are: their title, size and state. A `processing` document is not used to answer questions yet (or an add of it was interrupted: remove it and add it again). Add a document with `addAiAnswersKnowledgeDocument`; remove one with `removeAiAnswersKnowledgeDocument`. The caller must be allowed to see the widget: its owner, a partner for a customer it manages, or a Widgetic administrator. An API key needs the `content:read` scope.
207
+ # @param id The widget (composition) whose documents to list
208
+ # @param [Hash] opts the optional parameters
209
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
210
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
211
+ # @return [GetAiAnswersKnowledge200Response]
212
+ describe 'get_ai_answers_knowledge_0 test' do
213
+ it 'should work' do
214
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
215
+ end
216
+ end
217
+
218
+ # unit tests for get_all_compositions_0
219
+ # Get All Compositions
220
+ # Retrieves all compositions with pagination support. Pass `managedUserId` (Widgetic's id for one of your managed users) or `managedUserExternalId` (your own identifier for the user) to list only the compositions made for that managed user. The compositions of your other managed users, and your own, are left out. It combines with the other filters and with paging. A managed user that is not yours, or does not exist, is answered with 404 and `MANAGED_USER_NOT_FOUND`. An editor session with the `creator` surface may call this to list the compositions of ONE widget it built: it must send `widgetId`, and the answer holds only the compositions made for the session's managed user.
221
+ # @param [Hash] opts the optional parameters
222
+ # @option opts [Integer] :page Page number for pagination
223
+ # @option opts [Integer] :size Number of items per page
224
+ # @option opts [String] :sort The order of the list, as `<field>:<asc|desc>`. The field is `createdAt`, `updatedAt`, `name` or `status` (the snake_case spelling, such as `created_at`, is read too). `asc` or `desc` alone orders by `createdAt`. Default: `createdAt:desc`. Any other field is a 400.
225
+ # @option opts [String] :widget_id Filter compositions by widget ID
226
+ # @option opts [String] :workspace Filter by workspace
227
+ # @option opts [String] :project_folder Only the compositions in this project (the project's id).
228
+ # @option opts [String] :status Only the compositions in this status. Without it, every status is listed.
229
+ # @option opts [String] :managed_user_id List only the compositions made for this managed user (Widgetic's id for the user). Send this or `managedUserExternalId`, not both. Send it as `managedUserId`; the snake_case spelling `managed_user_id` is refused with a 400, not ignored.
230
+ # @option opts [String] :managed_user_external_id List only the compositions made for the managed user you registered with this `externalId` (your own identifier for the user). Send this or `managedUserId`, not both.
231
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
232
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
233
+ # @return [GetAllCompositions200Response]
234
+ describe 'get_all_compositions_0 test' do
235
+ it 'should work' do
236
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
237
+ end
238
+ end
239
+
240
+ # unit tests for get_composition_by_id_0
241
+ # Get Composition
242
+ # Retrieves a specific composition by its ID. The answer carries `direct`, which says whether the widget the composition is made from is drawn straight into your page (`true`) or inside a frame (`false`), or `null` while the widget has no published version. Read it before you go live: a widget drawn without a frame writes its entries from your own page, so the public entry route accepts them only from a website on the composition's allowed list, and refuses them while that list is empty (the public JSON of the composition stays open to every website). A widget in a frame writes from Widgetic's own frame and is accepted whatever the list says.
243
+ # @param id Composition ID
244
+ # @param [Hash] opts the optional parameters
245
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
246
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
247
+ # @return [CreateCompositionFromWidget201Response]
248
+ describe 'get_composition_by_id_0 test' do
249
+ it 'should work' do
250
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
251
+ end
252
+ end
253
+
254
+ # unit tests for get_composition_content_0
255
+ # Get Current Content
256
+ # Retrieves the current content of a composition
257
+ # @param id ID of the composition
258
+ # @param [Hash] opts the optional parameters
259
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
260
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
261
+ # @return [GetCompositionContentResponse]
262
+ describe 'get_composition_content_0 test' do
263
+ it 'should work' do
264
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
265
+ end
266
+ end
267
+
268
+ # unit tests for get_composition_content_schema_0
269
+ # Get Content Schema
270
+ # Retrieves the content schema for a composition based on its widget type
271
+ # @param id ID of the composition
272
+ # @param [Hash] opts the optional parameters
273
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
274
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
275
+ # @return [GetCompositionContentSchemaResponse]
276
+ describe 'get_composition_content_schema_0 test' do
277
+ it 'should work' do
278
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
279
+ end
280
+ end
281
+
282
+ # unit tests for get_composition_data_source_0
283
+ # Read the composition data source binding
284
+ # The data source that is bound to the composition: `url` and `refreshSeconds`. The answer's `data` is `null` when none is bound, and also when what is stored does not pass the rule for a public https address (a binding written by another path, such as the general embed-settings update, is never shown to a page unless it passes the same checks as this route).
285
+ # @param id
286
+ # @param [Hash] opts the optional parameters
287
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
288
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
289
+ # @return [GetCompositionDataSourceResponse]
290
+ describe 'get_composition_data_source_0 test' do
291
+ it 'should work' do
292
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
293
+ end
294
+ end
295
+
296
+ # unit tests for get_composition_database_record_0
297
+ # Get Record From Composition Database
298
+ # Retrieves a specific record from one of the composition's tables. Only the composition's own tables (made from its `databaseSchema` or from the tables its widget declares) can be reached; any other table name answers `404`.
299
+ # @param id ID of the composition
300
+ # @param table Name of the database table
301
+ # @param record_id ID of the record to retrieve
302
+ # @param [Hash] opts the optional parameters
303
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
304
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
305
+ # @return [CreateCompositionDatabaseRecord201Response]
306
+ describe 'get_composition_database_record_0 test' do
307
+ it 'should work' do
308
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
309
+ end
310
+ end
311
+
312
+ # unit tests for get_composition_database_records_0
313
+ # Get All Records From Composition Database Table
314
+ # Retrieves all records from one of the composition's tables. Only the composition's own tables (made from its `databaseSchema` or from the tables its widget declares) can be reached; any other table name answers `404`.
315
+ # @param id ID of the composition
316
+ # @param table Name of the database table
317
+ # @param [Hash] opts the optional parameters
318
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
319
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
320
+ # @return [GetCompositionDatabaseRecords200Response]
321
+ describe 'get_composition_database_records_0 test' do
322
+ it 'should work' do
323
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
324
+ end
325
+ end
326
+
327
+ # unit tests for get_composition_design_0
328
+ # Get Composition Design
329
+ # Retrieves only the design field from a composition.
330
+ # @param id ID of the composition
331
+ # @param [Hash] opts the optional parameters
332
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
333
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
334
+ # @return [GetCompositionDesignResponse]
335
+ describe 'get_composition_design_0 test' do
336
+ it 'should work' do
337
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
338
+ end
339
+ end
340
+
341
+ # unit tests for get_composition_design_schema_0
342
+ # Get Design Schema
343
+ # Retrieves the design schema for a composition based on its widget type
344
+ # @param id ID of the composition
345
+ # @param [Hash] opts the optional parameters
346
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
347
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
348
+ # @return [GetCompositionDesignSchemaResponse]
349
+ describe 'get_composition_design_schema_0 test' do
350
+ it 'should work' do
351
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
352
+ end
353
+ end
354
+
355
+ # unit tests for get_composition_embed_schema_0
356
+ # Get Embed Schema
357
+ # Retrieves the definition of the composition's Embed tab: which settings exist, what each one holds, what it defaults to, and when its control is shown. It is the third tab beside `schema/content` and `schema/design`, in the same format (`componentGroups` → `components` → `propertyGroups` → `properties`, each property with a `type`, a `defaultValue` and an `inputController`), so a client that draws those two tabs draws this one with the same code. The schema is the same for every composition (it is the one Widgetic's own Embed Editor draws). The composition id decides who may ask: the caller must be able to read the composition. Reading and saving the values: - `GET /compositions/{id}/embed-settings` returns what the composition saved. A composition whose Embed tab was never saved has nothing to return; seed the form from `defaults`, which holds the `defaultValue` of every setting that declares one. - `PUT /compositions/{id}` with `embedSettings` saves them. The gateway stores `embedSettings` as given and does not check it against this schema; the schema is how a client knows what to put there. A property's `visibilityCondition` says when its control is shown: `condition` is a comparison of the current values of the properties named in `dependsOn` (`useIframe === false`, `embedTarget === 'mixed' && keepDimensions === false`). While it is false the Embed Editor does not show the control. A colour picker with `showOpacityControls` saves its opacity next to the colour, under the key `<name>_opacity` as a number from 0 to 1 (`overlayBackgroundColor` → `overlayBackgroundColor_opacity`). Its `defaultTransparency` is a percentage and the saved value a fraction (50 → 0.5).
358
+ # @param id ID of the composition
359
+ # @param [Hash] opts the optional parameters
360
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
361
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
362
+ # @return [GetCompositionEmbedSchemaResponse]
363
+ describe 'get_composition_embed_schema_0 test' do
364
+ it 'should work' do
365
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
366
+ end
367
+ end
368
+
369
+ # unit tests for get_composition_embed_settings_0
370
+ # Get Composition Embed Settings
371
+ # Retrieves only the embedSettings field from a composition.
372
+ # @param id ID of the composition
373
+ # @param [Hash] opts the optional parameters
374
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
375
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
376
+ # @return [GetCompositionEmbedSettingsResponse]
377
+ describe 'get_composition_embed_settings_0 test' do
378
+ it 'should work' do
379
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
380
+ end
381
+ end
382
+
383
+ # unit tests for get_composition_preview_0
384
+ # Get Composition Preview
385
+ # Returns the address of the page an editor shows the composition in: the page of the widget's published version on the CDN, with the widget and version it is. Load it in a frame, then send the frame what to show (the content, design and embed settings you read from the composition, and every change the user makes) with `postMessage`: `{ type: 'widgetic:update', design }`, `{ type: 'widgetic:update', content }` or `{ type: 'widgetic:update', contentItems }`. The version is the one embeds show, so the editor previews what a visitor gets. The address does not carry the composition id: an embed uses the id to fetch the saved composition itself, while an editor sends the current state (unsaved changes included). A widget that has never been published has no page to show: the answer is 409 `WIDGET_NOT_PUBLISHED`.
386
+ # @param id ID of the composition
387
+ # @param [Hash] opts the optional parameters
388
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
389
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
390
+ # @return [GetCompositionPreviewResponse]
391
+ describe 'get_composition_preview_0 test' do
392
+ it 'should work' do
393
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
394
+ end
395
+ end
396
+
397
+ # unit tests for get_composition_versions_0
398
+ # Get Composition Versions
399
+ # Retrieves version history for a specific composition.
400
+ # @param id Composition ID
401
+ # @param [Hash] opts the optional parameters
402
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
403
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
404
+ # @return [GetCompositionVersions200Response]
405
+ describe 'get_composition_versions_0 test' do
406
+ it 'should work' do
407
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
408
+ end
409
+ end
410
+
411
+ # unit tests for get_compositions_batch_0
412
+ # Get Compositions Batch
413
+ # Retrieves multiple compositions by their IDs in a single request. This endpoint includes domain validation for embed contexts and is used by the embed SDK. Each composition is checked on its own. If its owner listed the websites it may appear on (the workspace's domain list, or the `allowedDomains` of a partner the owner administers) and the request comes from another website (the `Origin` header, or the host of `Referer` when there is no `Origin`), that composition is left out of `compositions` and reported in `errors` as `Domain access denied: <reason>`; the others are still returned. A request that names no website, and an owner who listed nothing, are not restricted, and a page on the visitor's own machine (`localhost`, `127.0.0.1` or `[::1]`, on any port) is always allowed. So is the website where a partner integrates Widgetic, with every subdomain of it (`platformDomain` in the answer of `GET /partners/mine`), for the compositions of that partner: a partner's list never has to name it.
414
+ # @param get_compositions_batch_request
415
+ # @param [Hash] opts the optional parameters
416
+ # @return [GetCompositionsBatchResponse]
417
+ describe 'get_compositions_batch_0 test' do
418
+ it 'should work' do
419
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
420
+ end
421
+ end
422
+
423
+ # unit tests for patch_composition_content_item_0
424
+ # Update a content list item
425
+ # @param id
426
+ # @param list
427
+ # @param item_id
428
+ # @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
429
+ # @param request_body
430
+ # @param [Hash] opts the optional parameters
431
+ # @option opts [String] :if_match
432
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (`POST /managed-users`). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
433
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its `externalId`), when you do not keep Widgetic's. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer's work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user's compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers `404` (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers `404` with `MANAGED_USER_NOT_FOUND`. An empty, repeated or malformed header is `400` with `MANAGED_USER_SCOPE_INVALID`; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with `403` and `MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE`: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer's browser holds, use an editor session. An `Idempotency-Key` is kept apart for each managed user.
434
+ # @return [CreateCompositionContentItem201Response]
435
+ describe 'patch_composition_content_item_0 test' do
436
+ it 'should work' do
437
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
438
+ end
439
+ end
440
+
441
+ # unit tests for read_composition_entries_0
442
+ # Read the Entries of a Composition's Table
443
+ # Counts the entries visitors left in one table, tallies them per value of a column on request, and returns the newest entries only when asked to. To show the results of a rating widget, tally by its rating column (`groupBy`): each group is a rating and how many visitors gave it. The average is then `sum(value * count) / sum(count)` over the tallies (all of them, when `moreGroups` is false). - **`totalRows`** is how many entries the table holds in all. - **`groupBy`** names a column (as `describeCompositionEntries` lists it). `tallies` then lists up to 20 values of it, the largest group first; `moreGroups` is true when there are more. - **`rows`** asks for the newest entries too, 1 to 25. The default is 0: counts and tallies only. `moreRows` is true when the table holds more than were returned. Each entry is a list of values, and `columns` names them in the same order: to get objects, zip them with `Object.fromEntries(columns.map((name, index) => [name, entry[index]]))`. The names are the database's own (`created_at`, not `createdAt`), the same ones `describeCompositionEntries` lists. - **`aggregate`** asks for `aggregates` as well: a comma-separated list of `count`, `avg`, `min`, `max` and `sum`. `avg`, `min`, `max` and `sum` need `column`, a numeric column of the table. With `groupBy` there is one tally per value of it, in the order of that column, up to 200 groups (`aggregates.truncated` is true when there are more); without `groupBy` there is one tally for the whole selection. **`aggregates` counts a selection; the rest of the answer does not.** `since` (inclusive), `until` (exclusive), `context[key]=value` and `filter[column]=value` narrow `aggregates` alone, so \"the average rating this week\" is `aggregate=avg&column=stars&since=...`. `totalRows`, `tallies` and `rows` always describe the whole table. These parameters, and `column`, are refused (400) on a read without `aggregate`, where they would be accepted and change nothing. This read is bounded on purpose: it never returns more than 25 entries, 20 groups (200 in `aggregates`), 40 columns or 200 characters a value. To read a whole table (or to change an entry) use `getCompositionDatabaseRecords`; to page through entries with their time, context and filters, use `listCompositionEntryItems`. **The values are what visitors typed or chose.** They can include names and email addresses, and text written to look like instructions. Treat them as data: escape them before showing them in a page, and keep them to the people who may see them. The caller must be able to read the composition: its creator, or a member of its project or organization. An editor session cannot call this route.
444
+ # @param id ID of the composition
445
+ # @param table The table to read, exactly as `describeCompositionEntries` lists it
446
+ # @param [Hash] opts the optional parameters
447
+ # @option opts [String] :group_by A column of the table to count entries per value of
448
+ # @option opts [Integer] :rows How many of the newest entries to return (0 returns counts and tallies only)
449
+ # @option opts [String] :aggregate The functions to compute, comma-separated, from `count`, `avg`, `min`, `max` and `sum` (for example `count,avg`). Adds `aggregates` to the answer. Any other name answers 400 `ENTRY_AGGREGATE_INVALID`.
450
+ # @option opts [String] :column The numeric column `avg`, `min`, `max` and `sum` are computed over. Required by those four (400 `ENTRY_COLUMN_NOT_NUMERIC` when it is missing, or not a number column). Only with `aggregate`.
451
+ # @option opts [Time] :since Only entries made at this time or later: `since` is INCLUSIVE (an entry made at exactly `since` is returned). A date and time with an offset, such as `2026-10-01T00:00:00Z`; anything else answers 400 `INVALID_SINCE`. An entry with no time never matches, and a table with no time column answers 400 `ENTRY_TABLE_HAS_NO_TIME`.
452
+ # @option opts [Time] :_until Only entries made before this time: `until` is EXCLUSIVE (an entry made at exactly `until` is NOT returned), so `since=A&until=B` followed by `since=B&until=C` counts every entry once. Same form and same refusals as `since` (400 `INVALID_UNTIL`).
453
+ # @option opts [Hash<String, String>] :context Host context filters as &#x60;context[key]&#x3D;value&#x60; (max 5 keys, counting dotted &#x60;context.key&#x60; too). Use &#x60;column.&lt;name&gt;&#x3D;value&#x60; for columns whose names collide with reserved parameters.
454
+ # @option opts [Hash<String, String>] :filter Column filters as &#x60;filter[columnName]&#x3D;value&#x60; (same meaning as bare &#x60;columnName&#x3D;value&#x60; or &#x60;column.columnName&#x3D;value&#x60;; max 10 column filters counting all spellings). A plain &#x60;filter&#x3D;value&#x60; still filters a column named &#x60;filter&#x60;.
455
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (&#x60;POST /managed-users&#x60;). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
456
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its &#x60;externalId&#x60;), when you do not keep Widgetic&#39;s. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
457
+ # @return [CompositionEntriesReadingResponse]
458
+ describe 'read_composition_entries_0 test' do
459
+ it 'should work' do
460
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
461
+ end
462
+ end
463
+
464
+ # unit tests for remove_ai_answers_knowledge_document_0
465
+ # Remove a document from a widget&#39;s knowledge base
466
+ # Removes one document and its passages: the widget&#39;s AI stops answering from it at once. Take the &#x60;documentId&#x60; from &#x60;getAiAnswersKnowledge&#x60;. The caller must be allowed to change the widget. An API key needs the &#x60;content:write&#x60; scope.
467
+ # @param id The widget (composition) the document is in
468
+ # @param document_id The document to remove
469
+ # @param [Hash] opts the optional parameters
470
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (&#x60;POST /managed-users&#x60;). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
471
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its &#x60;externalId&#x60;), when you do not keep Widgetic&#39;s. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
472
+ # @return [RemoveAiAnswersKnowledgeDocument200Response]
473
+ describe 'remove_ai_answers_knowledge_document_0 test' do
474
+ it 'should work' do
475
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
476
+ end
477
+ end
478
+
479
+ # unit tests for set_composition_data_source_0
480
+ # Bind a public JSON data source for embed refresh
481
+ # Stores an https URL the widget runtime may read on load and every &#x60;refreshSeconds&#x60;. The URL must name a public host (no loopback, link-local or metadata addresses). A composition has one binding: saving another replaces it. The answer is the binding as it was saved (&#x60;url&#x60;, &#x60;refreshSeconds&#x60;).
482
+ # @param id
483
+ # @param idempotency_key Required: a call without it is refused with &#x60;400&#x60;. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, &#x60;-&#x60; and &#x60;_&#x60;. Send the same key again when you retry (after a timeout, a dropped connection or a &#x60;5xx&#x60;) and the call is carried out once: the retry gets the first answer back, marked &#x60;X-Idempotency-Cached: true&#x60;. The same key with a different body is refused with &#x60;422&#x60;, and a retry that arrives while the first call is still running with &#x60;409&#x60; (see &#x60;Retry-After&#x60;).
484
+ # @param set_composition_data_source_request
485
+ # @param [Hash] opts the optional parameters
486
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (&#x60;POST /managed-users&#x60;). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
487
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its &#x60;externalId&#x60;), when you do not keep Widgetic&#39;s. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
488
+ # @return [CompositionDataSourceResponse]
489
+ describe 'set_composition_data_source_0 test' do
490
+ it 'should work' do
491
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
492
+ end
493
+ end
494
+
495
+ # unit tests for set_dynamic_content_0
496
+ # Set Dynamic Content
497
+ # Updates the content of a composition dynamically with optional schema validation. An editor session (see &#x60;createManagedUserEditorSession&#x60;) can send only &#x60;content&#x60;, &#x60;validate&#x60; and &#x60;partial&#x60;, and only for a composition made for its managed user. A body that names &#x60;version&#x60;, &#x60;source&#x60; or any other field is refused with &#x60;403&#x60; and &#x60;EDITOR_SESSION_FIELD_NOT_ALLOWED&#x60;.
498
+ # @param id ID of the composition
499
+ # @param idempotency_key Required: a call without it is refused with &#x60;400&#x60;. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, &#x60;-&#x60; and &#x60;_&#x60;. Send the same key again when you retry (after a timeout, a dropped connection or a &#x60;5xx&#x60;) and the call is carried out once: the retry gets the first answer back, marked &#x60;X-Idempotency-Cached: true&#x60;. The same key with a different body is refused with &#x60;422&#x60;, and a retry that arrives while the first call is still running with &#x60;409&#x60; (see &#x60;Retry-After&#x60;).
500
+ # @param set_dynamic_content_request
501
+ # @param [Hash] opts the optional parameters
502
+ # @option opts [String] :if_match Optional content version from ETag (&#x60;\&quot;3\&quot;&#x60;, &#x60;3&#x60;, or &#x60;*&#x60;)
503
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (&#x60;POST /managed-users&#x60;). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
504
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its &#x60;externalId&#x60;), when you do not keep Widgetic&#39;s. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
505
+ # @return [SetDynamicContentResponse]
506
+ describe 'set_dynamic_content_0 test' do
507
+ it 'should work' do
508
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
509
+ end
510
+ end
511
+
512
+ # unit tests for update_composition_0
513
+ # Update Composition
514
+ # Updates a specific composition. The &#x60;Idempotency-Key&#x60; header is required (&#x60;400&#x60; without it). Send the same key when you retry. An editor session (see &#x60;createManagedUserEditorSession&#x60;) can send only &#x60;name&#x60;, &#x60;content&#x60;, &#x60;design&#x60; and &#x60;embedSettings&#x60;, and only for a composition made for its managed user. A body that names any other field is refused with &#x60;403&#x60; and &#x60;EDITOR_SESSION_FIELD_NOT_ALLOWED&#x60;. Send &#x60;databaseSchema&#x60; to add tables to the composition: the tables that are missing are made, and the ones that exist are left as they are. A &#x60;databaseSchema&#x60; that cannot be used is refused before anything is saved, with &#x60;400&#x60; and &#x60;INVALID_DATABASE_SCHEMA&#x60;. If the composition is saved but its tables cannot be made just now, the answer is still &#x60;200&#x60; and &#x60;meta.warnings&#x60; says so.
515
+ # @param id Composition ID
516
+ # @param idempotency_key Required: a call without it is refused with &#x60;400&#x60;. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, &#x60;-&#x60; and &#x60;_&#x60;. Send the same key again when you retry (after a timeout, a dropped connection or a &#x60;5xx&#x60;) and the call is carried out once: the retry gets the first answer back, marked &#x60;X-Idempotency-Cached: true&#x60;. The same key with a different body is refused with &#x60;422&#x60;, and a retry that arrives while the first call is still running with &#x60;409&#x60; (see &#x60;Retry-After&#x60;).
517
+ # @param update_composition
518
+ # @param [Hash] opts the optional parameters
519
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (&#x60;POST /managed-users&#x60;). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
520
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its &#x60;externalId&#x60;), when you do not keep Widgetic&#39;s. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
521
+ # @return [CreateCompositionFromWidget201Response]
522
+ describe 'update_composition_0 test' do
523
+ it 'should work' do
524
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
525
+ end
526
+ end
527
+
528
+ # unit tests for update_composition_database_record_0
529
+ # Update Record In Composition Database
530
+ # Updates a specific record in one of the composition&#39;s tables. Only the composition&#39;s own tables (made from its &#x60;databaseSchema&#x60; or from the tables its widget declares) can be reached; any other table name answers &#x60;404&#x60;.
531
+ # @param id ID of the composition
532
+ # @param table Name of the database table
533
+ # @param record_id ID of the record to update
534
+ # @param idempotency_key Required: a call without it is refused with &#x60;400&#x60;. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, &#x60;-&#x60; and &#x60;_&#x60;. Send the same key again when you retry (after a timeout, a dropped connection or a &#x60;5xx&#x60;) and the call is carried out once: the retry gets the first answer back, marked &#x60;X-Idempotency-Cached: true&#x60;. The same key with a different body is refused with &#x60;422&#x60;, and a retry that arrives while the first call is still running with &#x60;409&#x60; (see &#x60;Retry-After&#x60;).
535
+ # @param body
536
+ # @param [Hash] opts the optional parameters
537
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (&#x60;POST /managed-users&#x60;). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
538
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its &#x60;externalId&#x60;), when you do not keep Widgetic&#39;s. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
539
+ # @return [CreateCompositionDatabaseRecord201Response]
540
+ describe 'update_composition_database_record_0 test' do
541
+ it 'should work' do
542
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
543
+ end
544
+ end
545
+
546
+ # unit tests for update_composition_status_0
547
+ # Update Composition Status
548
+ # Updates the status of a specific composition. The &#x60;Idempotency-Key&#x60; header is required (&#x60;400&#x60; without it). Send the same key when you retry.
549
+ # @param id Composition ID
550
+ # @param idempotency_key Required: a call without it is refused with &#x60;400&#x60;. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, &#x60;-&#x60; and &#x60;_&#x60;. Send the same key again when you retry (after a timeout, a dropped connection or a &#x60;5xx&#x60;) and the call is carried out once: the retry gets the first answer back, marked &#x60;X-Idempotency-Cached: true&#x60;. The same key with a different body is refused with &#x60;422&#x60;, and a retry that arrives while the first call is still running with &#x60;409&#x60; (see &#x60;Retry-After&#x60;).
551
+ # @param update_composition_status_request
552
+ # @param [Hash] opts the optional parameters
553
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (&#x60;POST /managed-users&#x60;). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
554
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its &#x60;externalId&#x60;), when you do not keep Widgetic&#39;s. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
555
+ # @return [CompositionResponse]
556
+ describe 'update_composition_status_0 test' do
557
+ it 'should work' do
558
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
559
+ end
560
+ end
561
+
562
+ # unit tests for validate_composition_content_0
563
+ # Validate Content
564
+ # Checks content against the composition&#39;s widget schema without saving it. Send what a content update (&#x60;PUT /compositions/{id}/content&#x60;) would store, &#x60;{ \&quot;design\&quot;: {...}, \&quot;content\&quot;: {...} }&#x60;, or the widget&#39;s values alone. Each value is checked by the kind of field the widget declares for it: text, a number within the limits of its slider, true or false, one of the choices of a dropdown, a color, a font, the address of an image, a date. The items of the widget&#39;s list are checked the same way, and their number against the limits of the list. A value that cannot be what the field holds, or a number outside its range, is an error and &#x60;valid&#x60; is false. Text longer than the field takes, a number or true/false sent as text, and a name the widget has no field for are warnings, and &#x60;valid&#x60; stays true. The design is not checked here. Nothing is saved and nothing in the body is changed.
565
+ # @param id ID of the composition
566
+ # @param idempotency_key Required: a call without it is refused with &#x60;400&#x60;. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, &#x60;-&#x60; and &#x60;_&#x60;. Send the same key again when you retry (after a timeout, a dropped connection or a &#x60;5xx&#x60;) and the call is carried out once: the retry gets the first answer back, marked &#x60;X-Idempotency-Cached: true&#x60;. The same key with a different body is refused with &#x60;422&#x60;, and a retry that arrives while the first call is still running with &#x60;409&#x60; (see &#x60;Retry-After&#x60;).
567
+ # @param request_body
568
+ # @param [Hash] opts the optional parameters
569
+ # @option opts [String] :x_managed_user_id The id Widgetic gave the managed user (&#x60;POST /managed-users&#x60;). Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
570
+ # @option opts [String] :x_managed_user_external_id Your own id for the managed user (its &#x60;externalId&#x60;), when you do not keep Widgetic&#39;s. Makes this call for one of your managed users, so that a mistake in your own code cannot reach another customer&#39;s work. Send this header, or the other one, never both. Left out, the call works on your whole account, as it always has. With it, the call reaches only that user&#39;s compositions: a list shows only theirs, a composition the call makes is filed under them, and a composition of another user, or one that does not exist, answers &#x60;404&#x60; (the same answer, so the call cannot be used to find out what another customer has). A managed user that is not yours answers &#x60;404&#x60; with &#x60;MANAGED_USER_NOT_FOUND&#x60;. An empty, repeated or malformed header is &#x60;400&#x60; with &#x60;MANAGED_USER_SCOPE_INVALID&#x60;; an empty header is never read as no header. A call that is about the whole account, such as the list of your managed users, is refused with &#x60;403&#x60; and &#x60;MANAGED_USER_SCOPE_ROUTE_NOT_AVAILABLE&#x60;: send it without the header. Only your API key can send it. The header is a limit the call asks for: whoever holds the key can leave it out, so for a credential that a customer&#39;s browser holds, use an editor session. An &#x60;Idempotency-Key&#x60; is kept apart for each managed user.
571
+ # @return [ValidateCompositionContentResponse]
572
+ describe 'validate_composition_content_0 test' do
573
+ it 'should work' do
574
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
575
+ end
576
+ end
577
+
578
+ end