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,2768 @@
1
+ # ApiSdkRb::CompositionsApi
2
+
3
+ All URIs are relative to *https://api.widgetic.com/v1*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**add_ai_answers_knowledge_document_0**](CompositionsApi.md#add_ai_answers_knowledge_document_0) | **POST** /compositions/{id}/adapters/ai-answers/knowledge/documents | Add a document for a widget's AI to answer from |
8
+ | [**check_composition_access_0**](CompositionsApi.md#check_composition_access_0) | **GET** /compositions/{id}/access | Check Composition Access |
9
+ | [**create_composition_0**](CompositionsApi.md#create_composition_0) | **POST** /compositions | Create Composition |
10
+ | [**create_composition_content_item_0**](CompositionsApi.md#create_composition_content_item_0) | **POST** /compositions/{id}/content/{list}/items | Add a content list item |
11
+ | [**create_composition_database_record_0**](CompositionsApi.md#create_composition_database_record_0) | **POST** /compositions/{id}/database/{table} | Create Record In Composition Database |
12
+ | [**delete_composition_0**](CompositionsApi.md#delete_composition_0) | **DELETE** /compositions/{id} | Delete Composition |
13
+ | [**delete_composition_content_item_0**](CompositionsApi.md#delete_composition_content_item_0) | **DELETE** /compositions/{id}/content/{list}/items/{itemId} | Delete a content list item |
14
+ | [**delete_composition_data_source_0**](CompositionsApi.md#delete_composition_data_source_0) | **DELETE** /compositions/{id}/data-source | Remove the composition data source binding |
15
+ | [**delete_composition_database_record_0**](CompositionsApi.md#delete_composition_database_record_0) | **DELETE** /compositions/{id}/database/{table}/{recordId} | Delete Record From Composition Database |
16
+ | [**describe_composition_entries_0**](CompositionsApi.md#describe_composition_entries_0) | **GET** /compositions/{id}/entries | Describe What a Composition Keeps |
17
+ | [**duplicate_composition_0**](CompositionsApi.md#duplicate_composition_0) | **POST** /compositions/{id}/duplicate | Duplicate Composition |
18
+ | [**get_ai_answers_knowledge_0**](CompositionsApi.md#get_ai_answers_knowledge_0) | **GET** /compositions/{id}/adapters/ai-answers/knowledge | See the documents a widget's AI answers from |
19
+ | [**get_all_compositions_0**](CompositionsApi.md#get_all_compositions_0) | **GET** /compositions | Get All Compositions |
20
+ | [**get_composition_by_id_0**](CompositionsApi.md#get_composition_by_id_0) | **GET** /compositions/{id} | Get Composition |
21
+ | [**get_composition_content_0**](CompositionsApi.md#get_composition_content_0) | **GET** /compositions/{id}/content | Get Current Content |
22
+ | [**get_composition_content_schema_0**](CompositionsApi.md#get_composition_content_schema_0) | **GET** /compositions/{id}/schema/content | Get Content Schema |
23
+ | [**get_composition_data_source_0**](CompositionsApi.md#get_composition_data_source_0) | **GET** /compositions/{id}/data-source | Read the composition data source binding |
24
+ | [**get_composition_database_record_0**](CompositionsApi.md#get_composition_database_record_0) | **GET** /compositions/{id}/database/{table}/{recordId} | Get Record From Composition Database |
25
+ | [**get_composition_database_records_0**](CompositionsApi.md#get_composition_database_records_0) | **GET** /compositions/{id}/database/{table} | Get All Records From Composition Database Table |
26
+ | [**get_composition_design_0**](CompositionsApi.md#get_composition_design_0) | **GET** /compositions/{id}/design | Get Composition Design |
27
+ | [**get_composition_design_schema_0**](CompositionsApi.md#get_composition_design_schema_0) | **GET** /compositions/{id}/schema/design | Get Design Schema |
28
+ | [**get_composition_embed_schema_0**](CompositionsApi.md#get_composition_embed_schema_0) | **GET** /compositions/{id}/schema/embed | Get Embed Schema |
29
+ | [**get_composition_embed_settings_0**](CompositionsApi.md#get_composition_embed_settings_0) | **GET** /compositions/{id}/embed-settings | Get Composition Embed Settings |
30
+ | [**get_composition_preview_0**](CompositionsApi.md#get_composition_preview_0) | **GET** /compositions/{id}/preview | Get Composition Preview |
31
+ | [**get_composition_versions_0**](CompositionsApi.md#get_composition_versions_0) | **GET** /compositions/{id}/versions | Get Composition Versions |
32
+ | [**get_compositions_batch_0**](CompositionsApi.md#get_compositions_batch_0) | **POST** /compositions/batch | Get Compositions Batch |
33
+ | [**patch_composition_content_item_0**](CompositionsApi.md#patch_composition_content_item_0) | **PATCH** /compositions/{id}/content/{list}/items/{itemId} | Update a content list item |
34
+ | [**read_composition_entries_0**](CompositionsApi.md#read_composition_entries_0) | **GET** /compositions/{id}/entries/{table} | Read the Entries of a Composition's Table |
35
+ | [**remove_ai_answers_knowledge_document_0**](CompositionsApi.md#remove_ai_answers_knowledge_document_0) | **DELETE** /compositions/{id}/adapters/ai-answers/knowledge/documents/{documentId} | Remove a document from a widget's knowledge base |
36
+ | [**set_composition_data_source_0**](CompositionsApi.md#set_composition_data_source_0) | **PUT** /compositions/{id}/data-source | Bind a public JSON data source for embed refresh |
37
+ | [**set_dynamic_content_0**](CompositionsApi.md#set_dynamic_content_0) | **PUT** /compositions/{id}/content | Set Dynamic Content |
38
+ | [**update_composition_0**](CompositionsApi.md#update_composition_0) | **PUT** /compositions/{id} | Update Composition |
39
+ | [**update_composition_database_record_0**](CompositionsApi.md#update_composition_database_record_0) | **PUT** /compositions/{id}/database/{table}/{recordId} | Update Record In Composition Database |
40
+ | [**update_composition_status_0**](CompositionsApi.md#update_composition_status_0) | **PUT** /compositions/{id}/status | Update Composition Status |
41
+ | [**validate_composition_content_0**](CompositionsApi.md#validate_composition_content_0) | **POST** /compositions/{id}/content/validate | Validate Content |
42
+
43
+
44
+ ## add_ai_answers_knowledge_document_0
45
+
46
+ > <AddAiAnswersKnowledgeDocument201Response> add_ai_answers_knowledge_document_0(id, add_ai_answers_knowledge_document_request, opts)
47
+
48
+ Add a document for a widget's AI to answer from
49
+
50
+ 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.
51
+
52
+ ### Examples
53
+
54
+ ```ruby
55
+ require 'time'
56
+ require 'api-sdk-rb'
57
+ # setup authorization
58
+ ApiSdkRb.configure do |config|
59
+ # Configure Bearer authorization (JWT): apiKeyAuth
60
+ config.access_token = 'YOUR_BEARER_TOKEN'
61
+ end
62
+
63
+ api_instance = ApiSdkRb::CompositionsApi.new
64
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The widget (composition) to add the document to
65
+ add_ai_answers_knowledge_document_request = ApiSdkRb::AddAiAnswersKnowledgeDocumentRequest.new({title: 'Shipping and returns', text: 'Orders ship within 2 business days. Returns are accepted for 30 days after delivery, in the original packaging.'}) # AddAiAnswersKnowledgeDocumentRequest |
66
+ opts = {
67
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
68
+ x_managed_user_external_id: 'customer-1042' # String | 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.
69
+ }
70
+
71
+ begin
72
+ # Add a document for a widget's AI to answer from
73
+ result = api_instance.add_ai_answers_knowledge_document_0(id, add_ai_answers_knowledge_document_request, opts)
74
+ p result
75
+ rescue ApiSdkRb::ApiError => e
76
+ puts "Error when calling CompositionsApi->add_ai_answers_knowledge_document_0: #{e}"
77
+ end
78
+ ```
79
+
80
+ #### Using the add_ai_answers_knowledge_document_0_with_http_info variant
81
+
82
+ This returns an Array which contains the response data, status code and headers.
83
+
84
+ > <Array(<AddAiAnswersKnowledgeDocument201Response>, Integer, Hash)> add_ai_answers_knowledge_document_0_with_http_info(id, add_ai_answers_knowledge_document_request, opts)
85
+
86
+ ```ruby
87
+ begin
88
+ # Add a document for a widget's AI to answer from
89
+ data, status_code, headers = api_instance.add_ai_answers_knowledge_document_0_with_http_info(id, add_ai_answers_knowledge_document_request, opts)
90
+ p status_code # => 2xx
91
+ p headers # => { ... }
92
+ p data # => <AddAiAnswersKnowledgeDocument201Response>
93
+ rescue ApiSdkRb::ApiError => e
94
+ puts "Error when calling CompositionsApi->add_ai_answers_knowledge_document_0_with_http_info: #{e}"
95
+ end
96
+ ```
97
+
98
+ ### Parameters
99
+
100
+ | Name | Type | Description | Notes |
101
+ | ---- | ---- | ----------- | ----- |
102
+ | **id** | **String** | The widget (composition) to add the document to | |
103
+ | **add_ai_answers_knowledge_document_request** | [**AddAiAnswersKnowledgeDocumentRequest**](AddAiAnswersKnowledgeDocumentRequest.md) | | |
104
+ | **x_managed_user_id** | **String** | 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. | [optional] |
105
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
106
+
107
+ ### Return type
108
+
109
+ [**AddAiAnswersKnowledgeDocument201Response**](AddAiAnswersKnowledgeDocument201Response.md)
110
+
111
+ ### Authorization
112
+
113
+ [apiKeyAuth](../README.md#apiKeyAuth)
114
+
115
+ ### HTTP request headers
116
+
117
+ - **Content-Type**: application/json
118
+ - **Accept**: application/json
119
+
120
+
121
+ ## check_composition_access_0
122
+
123
+ > <CheckCompositionAccessResponse> check_composition_access_0(id)
124
+
125
+ Check Composition Access
126
+
127
+ Checks if the authenticated user can access a specific composition based on workspace context and permissions.
128
+
129
+ ### Examples
130
+
131
+ ```ruby
132
+ require 'time'
133
+ require 'api-sdk-rb'
134
+ # setup authorization
135
+ ApiSdkRb.configure do |config|
136
+ # Configure Bearer authorization (JWT): apiKeyAuth
137
+ config.access_token = 'YOUR_BEARER_TOKEN'
138
+ end
139
+
140
+ api_instance = ApiSdkRb::CompositionsApi.new
141
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | Composition ID
142
+
143
+ begin
144
+ # Check Composition Access
145
+ result = api_instance.check_composition_access_0(id)
146
+ p result
147
+ rescue ApiSdkRb::ApiError => e
148
+ puts "Error when calling CompositionsApi->check_composition_access_0: #{e}"
149
+ end
150
+ ```
151
+
152
+ #### Using the check_composition_access_0_with_http_info variant
153
+
154
+ This returns an Array which contains the response data, status code and headers.
155
+
156
+ > <Array(<CheckCompositionAccessResponse>, Integer, Hash)> check_composition_access_0_with_http_info(id)
157
+
158
+ ```ruby
159
+ begin
160
+ # Check Composition Access
161
+ data, status_code, headers = api_instance.check_composition_access_0_with_http_info(id)
162
+ p status_code # => 2xx
163
+ p headers # => { ... }
164
+ p data # => <CheckCompositionAccessResponse>
165
+ rescue ApiSdkRb::ApiError => e
166
+ puts "Error when calling CompositionsApi->check_composition_access_0_with_http_info: #{e}"
167
+ end
168
+ ```
169
+
170
+ ### Parameters
171
+
172
+ | Name | Type | Description | Notes |
173
+ | ---- | ---- | ----------- | ----- |
174
+ | **id** | **String** | Composition ID | |
175
+
176
+ ### Return type
177
+
178
+ [**CheckCompositionAccessResponse**](CheckCompositionAccessResponse.md)
179
+
180
+ ### Authorization
181
+
182
+ [apiKeyAuth](../README.md#apiKeyAuth)
183
+
184
+ ### HTTP request headers
185
+
186
+ - **Content-Type**: Not defined
187
+ - **Accept**: application/json
188
+
189
+
190
+ ## create_composition_0
191
+
192
+ > <CreateCompositionFromWidget201Response> create_composition_0(idempotency_key, new_composition, opts)
193
+
194
+ Create Composition
195
+
196
+ 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.
197
+
198
+ ### Examples
199
+
200
+ ```ruby
201
+ require 'time'
202
+ require 'api-sdk-rb'
203
+ # setup authorization
204
+ ApiSdkRb.configure do |config|
205
+ # Configure Bearer authorization (JWT): apiKeyAuth
206
+ config.access_token = 'YOUR_BEARER_TOKEN'
207
+ end
208
+
209
+ api_instance = ApiSdkRb::CompositionsApi.new
210
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
211
+ new_composition = ApiSdkRb::NewComposition.new({name: 'My New Composition', widget_id: '123e4567-e89b-12d3-a456-426614174002'}) # NewComposition |
212
+ opts = {
213
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
214
+ x_managed_user_external_id: 'customer-1042' # String | 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.
215
+ }
216
+
217
+ begin
218
+ # Create Composition
219
+ result = api_instance.create_composition_0(idempotency_key, new_composition, opts)
220
+ p result
221
+ rescue ApiSdkRb::ApiError => e
222
+ puts "Error when calling CompositionsApi->create_composition_0: #{e}"
223
+ end
224
+ ```
225
+
226
+ #### Using the create_composition_0_with_http_info variant
227
+
228
+ This returns an Array which contains the response data, status code and headers.
229
+
230
+ > <Array(<CreateCompositionFromWidget201Response>, Integer, Hash)> create_composition_0_with_http_info(idempotency_key, new_composition, opts)
231
+
232
+ ```ruby
233
+ begin
234
+ # Create Composition
235
+ data, status_code, headers = api_instance.create_composition_0_with_http_info(idempotency_key, new_composition, opts)
236
+ p status_code # => 2xx
237
+ p headers # => { ... }
238
+ p data # => <CreateCompositionFromWidget201Response>
239
+ rescue ApiSdkRb::ApiError => e
240
+ puts "Error when calling CompositionsApi->create_composition_0_with_http_info: #{e}"
241
+ end
242
+ ```
243
+
244
+ ### Parameters
245
+
246
+ | Name | Type | Description | Notes |
247
+ | ---- | ---- | ----------- | ----- |
248
+ | **idempotency_key** | **String** | 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;). | |
249
+ | **new_composition** | [**NewComposition**](NewComposition.md) | | |
250
+ | **x_managed_user_id** | **String** | 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. | [optional] |
251
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
252
+
253
+ ### Return type
254
+
255
+ [**CreateCompositionFromWidget201Response**](CreateCompositionFromWidget201Response.md)
256
+
257
+ ### Authorization
258
+
259
+ [apiKeyAuth](../README.md#apiKeyAuth)
260
+
261
+ ### HTTP request headers
262
+
263
+ - **Content-Type**: application/json
264
+ - **Accept**: application/json
265
+
266
+
267
+ ## create_composition_content_item_0
268
+
269
+ > <CreateCompositionContentItem201Response> create_composition_content_item_0(id, list, idempotency_key, create_composition_content_item_request, opts)
270
+
271
+ Add a content list item
272
+
273
+ 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.
274
+
275
+ ### Examples
276
+
277
+ ```ruby
278
+ require 'time'
279
+ require 'api-sdk-rb'
280
+ # setup authorization
281
+ ApiSdkRb.configure do |config|
282
+ # Configure Bearer authorization (JWT): apiKeyAuth
283
+ config.access_token = 'YOUR_BEARER_TOKEN'
284
+ end
285
+
286
+ api_instance = ApiSdkRb::CompositionsApi.new
287
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
288
+ list = 'list_example' # String | List name from the content schema (`contentItems`) or `items`
289
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
290
+ create_composition_content_item_request = ApiSdkRb::CreateCompositionContentItemRequest.new # CreateCompositionContentItemRequest |
291
+ opts = {
292
+ if_match: 'if_match_example', # String | Optional content version from ETag
293
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
294
+ x_managed_user_external_id: 'customer-1042' # String | 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.
295
+ }
296
+
297
+ begin
298
+ # Add a content list item
299
+ result = api_instance.create_composition_content_item_0(id, list, idempotency_key, create_composition_content_item_request, opts)
300
+ p result
301
+ rescue ApiSdkRb::ApiError => e
302
+ puts "Error when calling CompositionsApi->create_composition_content_item_0: #{e}"
303
+ end
304
+ ```
305
+
306
+ #### Using the create_composition_content_item_0_with_http_info variant
307
+
308
+ This returns an Array which contains the response data, status code and headers.
309
+
310
+ > <Array(<CreateCompositionContentItem201Response>, Integer, Hash)> create_composition_content_item_0_with_http_info(id, list, idempotency_key, create_composition_content_item_request, opts)
311
+
312
+ ```ruby
313
+ begin
314
+ # Add a content list item
315
+ data, status_code, headers = api_instance.create_composition_content_item_0_with_http_info(id, list, idempotency_key, create_composition_content_item_request, opts)
316
+ p status_code # => 2xx
317
+ p headers # => { ... }
318
+ p data # => <CreateCompositionContentItem201Response>
319
+ rescue ApiSdkRb::ApiError => e
320
+ puts "Error when calling CompositionsApi->create_composition_content_item_0_with_http_info: #{e}"
321
+ end
322
+ ```
323
+
324
+ ### Parameters
325
+
326
+ | Name | Type | Description | Notes |
327
+ | ---- | ---- | ----------- | ----- |
328
+ | **id** | **String** | | |
329
+ | **list** | **String** | List name from the content schema (&#x60;contentItems&#x60;) or &#x60;items&#x60; | |
330
+ | **idempotency_key** | **String** | 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;). | |
331
+ | **create_composition_content_item_request** | [**CreateCompositionContentItemRequest**](CreateCompositionContentItemRequest.md) | | |
332
+ | **if_match** | **String** | Optional content version from ETag | [optional] |
333
+ | **x_managed_user_id** | **String** | 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. | [optional] |
334
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
335
+
336
+ ### Return type
337
+
338
+ [**CreateCompositionContentItem201Response**](CreateCompositionContentItem201Response.md)
339
+
340
+ ### Authorization
341
+
342
+ [apiKeyAuth](../README.md#apiKeyAuth)
343
+
344
+ ### HTTP request headers
345
+
346
+ - **Content-Type**: application/json
347
+ - **Accept**: application/json
348
+
349
+
350
+ ## create_composition_database_record_0
351
+
352
+ > <CreateCompositionDatabaseRecord201Response> create_composition_database_record_0(id, table, idempotency_key, body, opts)
353
+
354
+ Create Record In Composition Database
355
+
356
+ 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`.
357
+
358
+ ### Examples
359
+
360
+ ```ruby
361
+ require 'time'
362
+ require 'api-sdk-rb'
363
+ # setup authorization
364
+ ApiSdkRb.configure do |config|
365
+ # Configure Bearer authorization (JWT): apiKeyAuth
366
+ config.access_token = 'YOUR_BEARER_TOKEN'
367
+ end
368
+
369
+ api_instance = ApiSdkRb::CompositionsApi.new
370
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
371
+ table = 'table_example' # String | Name of the database table
372
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
373
+ body = { ... } # Object |
374
+ opts = {
375
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
376
+ x_managed_user_external_id: 'customer-1042' # String | 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.
377
+ }
378
+
379
+ begin
380
+ # Create Record In Composition Database
381
+ result = api_instance.create_composition_database_record_0(id, table, idempotency_key, body, opts)
382
+ p result
383
+ rescue ApiSdkRb::ApiError => e
384
+ puts "Error when calling CompositionsApi->create_composition_database_record_0: #{e}"
385
+ end
386
+ ```
387
+
388
+ #### Using the create_composition_database_record_0_with_http_info variant
389
+
390
+ This returns an Array which contains the response data, status code and headers.
391
+
392
+ > <Array(<CreateCompositionDatabaseRecord201Response>, Integer, Hash)> create_composition_database_record_0_with_http_info(id, table, idempotency_key, body, opts)
393
+
394
+ ```ruby
395
+ begin
396
+ # Create Record In Composition Database
397
+ data, status_code, headers = api_instance.create_composition_database_record_0_with_http_info(id, table, idempotency_key, body, opts)
398
+ p status_code # => 2xx
399
+ p headers # => { ... }
400
+ p data # => <CreateCompositionDatabaseRecord201Response>
401
+ rescue ApiSdkRb::ApiError => e
402
+ puts "Error when calling CompositionsApi->create_composition_database_record_0_with_http_info: #{e}"
403
+ end
404
+ ```
405
+
406
+ ### Parameters
407
+
408
+ | Name | Type | Description | Notes |
409
+ | ---- | ---- | ----------- | ----- |
410
+ | **id** | **String** | ID of the composition | |
411
+ | **table** | **String** | Name of the database table | |
412
+ | **idempotency_key** | **String** | 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;). | |
413
+ | **body** | **Object** | | |
414
+ | **x_managed_user_id** | **String** | 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. | [optional] |
415
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
416
+
417
+ ### Return type
418
+
419
+ [**CreateCompositionDatabaseRecord201Response**](CreateCompositionDatabaseRecord201Response.md)
420
+
421
+ ### Authorization
422
+
423
+ [apiKeyAuth](../README.md#apiKeyAuth)
424
+
425
+ ### HTTP request headers
426
+
427
+ - **Content-Type**: application/json
428
+ - **Accept**: application/json
429
+
430
+
431
+ ## delete_composition_0
432
+
433
+ > delete_composition_0(id, opts)
434
+
435
+ Delete Composition
436
+
437
+ Deletes a specific composition, and the data it keeps (the tables it declared and what visitors left in them).
438
+
439
+ ### Examples
440
+
441
+ ```ruby
442
+ require 'time'
443
+ require 'api-sdk-rb'
444
+ # setup authorization
445
+ ApiSdkRb.configure do |config|
446
+ # Configure Bearer authorization (JWT): apiKeyAuth
447
+ config.access_token = 'YOUR_BEARER_TOKEN'
448
+ end
449
+
450
+ api_instance = ApiSdkRb::CompositionsApi.new
451
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The ID of the composition to delete
452
+ opts = {
453
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
454
+ x_managed_user_external_id: 'customer-1042' # String | 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.
455
+ }
456
+
457
+ begin
458
+ # Delete Composition
459
+ api_instance.delete_composition_0(id, opts)
460
+ rescue ApiSdkRb::ApiError => e
461
+ puts "Error when calling CompositionsApi->delete_composition_0: #{e}"
462
+ end
463
+ ```
464
+
465
+ #### Using the delete_composition_0_with_http_info variant
466
+
467
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
468
+
469
+ > <Array(nil, Integer, Hash)> delete_composition_0_with_http_info(id, opts)
470
+
471
+ ```ruby
472
+ begin
473
+ # Delete Composition
474
+ data, status_code, headers = api_instance.delete_composition_0_with_http_info(id, opts)
475
+ p status_code # => 2xx
476
+ p headers # => { ... }
477
+ p data # => nil
478
+ rescue ApiSdkRb::ApiError => e
479
+ puts "Error when calling CompositionsApi->delete_composition_0_with_http_info: #{e}"
480
+ end
481
+ ```
482
+
483
+ ### Parameters
484
+
485
+ | Name | Type | Description | Notes |
486
+ | ---- | ---- | ----------- | ----- |
487
+ | **id** | **String** | The ID of the composition to delete | |
488
+ | **x_managed_user_id** | **String** | 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. | [optional] |
489
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
490
+
491
+ ### Return type
492
+
493
+ nil (empty response body)
494
+
495
+ ### Authorization
496
+
497
+ [apiKeyAuth](../README.md#apiKeyAuth)
498
+
499
+ ### HTTP request headers
500
+
501
+ - **Content-Type**: Not defined
502
+ - **Accept**: application/json
503
+
504
+
505
+ ## delete_composition_content_item_0
506
+
507
+ > <DeleteCompositionContentItemResponse> delete_composition_content_item_0(id, list, item_id, idempotency_key, opts)
508
+
509
+ Delete a content list item
510
+
511
+ ### Examples
512
+
513
+ ```ruby
514
+ require 'time'
515
+ require 'api-sdk-rb'
516
+ # setup authorization
517
+ ApiSdkRb.configure do |config|
518
+ # Configure Bearer authorization (JWT): apiKeyAuth
519
+ config.access_token = 'YOUR_BEARER_TOKEN'
520
+ end
521
+
522
+ api_instance = ApiSdkRb::CompositionsApi.new
523
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
524
+ list = 'list_example' # String |
525
+ item_id = 'item_id_example' # String |
526
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
527
+ opts = {
528
+ if_match: 'if_match_example', # String |
529
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
530
+ x_managed_user_external_id: 'customer-1042' # String | 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.
531
+ }
532
+
533
+ begin
534
+ # Delete a content list item
535
+ result = api_instance.delete_composition_content_item_0(id, list, item_id, idempotency_key, opts)
536
+ p result
537
+ rescue ApiSdkRb::ApiError => e
538
+ puts "Error when calling CompositionsApi->delete_composition_content_item_0: #{e}"
539
+ end
540
+ ```
541
+
542
+ #### Using the delete_composition_content_item_0_with_http_info variant
543
+
544
+ This returns an Array which contains the response data, status code and headers.
545
+
546
+ > <Array(<DeleteCompositionContentItemResponse>, Integer, Hash)> delete_composition_content_item_0_with_http_info(id, list, item_id, idempotency_key, opts)
547
+
548
+ ```ruby
549
+ begin
550
+ # Delete a content list item
551
+ data, status_code, headers = api_instance.delete_composition_content_item_0_with_http_info(id, list, item_id, idempotency_key, opts)
552
+ p status_code # => 2xx
553
+ p headers # => { ... }
554
+ p data # => <DeleteCompositionContentItemResponse>
555
+ rescue ApiSdkRb::ApiError => e
556
+ puts "Error when calling CompositionsApi->delete_composition_content_item_0_with_http_info: #{e}"
557
+ end
558
+ ```
559
+
560
+ ### Parameters
561
+
562
+ | Name | Type | Description | Notes |
563
+ | ---- | ---- | ----------- | ----- |
564
+ | **id** | **String** | | |
565
+ | **list** | **String** | | |
566
+ | **item_id** | **String** | | |
567
+ | **idempotency_key** | **String** | 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;). | |
568
+ | **if_match** | **String** | | [optional] |
569
+ | **x_managed_user_id** | **String** | 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. | [optional] |
570
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
571
+
572
+ ### Return type
573
+
574
+ [**DeleteCompositionContentItemResponse**](DeleteCompositionContentItemResponse.md)
575
+
576
+ ### Authorization
577
+
578
+ [apiKeyAuth](../README.md#apiKeyAuth)
579
+
580
+ ### HTTP request headers
581
+
582
+ - **Content-Type**: Not defined
583
+ - **Accept**: application/json
584
+
585
+
586
+ ## delete_composition_data_source_0
587
+
588
+ > <DeleteCompositionDataSourceResponse> delete_composition_data_source_0(id, idempotency_key, opts)
589
+
590
+ Remove the composition data source binding
591
+
592
+ 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.
593
+
594
+ ### Examples
595
+
596
+ ```ruby
597
+ require 'time'
598
+ require 'api-sdk-rb'
599
+ # setup authorization
600
+ ApiSdkRb.configure do |config|
601
+ # Configure Bearer authorization (JWT): apiKeyAuth
602
+ config.access_token = 'YOUR_BEARER_TOKEN'
603
+ end
604
+
605
+ api_instance = ApiSdkRb::CompositionsApi.new
606
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
607
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
608
+ opts = {
609
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
610
+ x_managed_user_external_id: 'customer-1042' # String | 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.
611
+ }
612
+
613
+ begin
614
+ # Remove the composition data source binding
615
+ result = api_instance.delete_composition_data_source_0(id, idempotency_key, opts)
616
+ p result
617
+ rescue ApiSdkRb::ApiError => e
618
+ puts "Error when calling CompositionsApi->delete_composition_data_source_0: #{e}"
619
+ end
620
+ ```
621
+
622
+ #### Using the delete_composition_data_source_0_with_http_info variant
623
+
624
+ This returns an Array which contains the response data, status code and headers.
625
+
626
+ > <Array(<DeleteCompositionDataSourceResponse>, Integer, Hash)> delete_composition_data_source_0_with_http_info(id, idempotency_key, opts)
627
+
628
+ ```ruby
629
+ begin
630
+ # Remove the composition data source binding
631
+ data, status_code, headers = api_instance.delete_composition_data_source_0_with_http_info(id, idempotency_key, opts)
632
+ p status_code # => 2xx
633
+ p headers # => { ... }
634
+ p data # => <DeleteCompositionDataSourceResponse>
635
+ rescue ApiSdkRb::ApiError => e
636
+ puts "Error when calling CompositionsApi->delete_composition_data_source_0_with_http_info: #{e}"
637
+ end
638
+ ```
639
+
640
+ ### Parameters
641
+
642
+ | Name | Type | Description | Notes |
643
+ | ---- | ---- | ----------- | ----- |
644
+ | **id** | **String** | | |
645
+ | **idempotency_key** | **String** | 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;). | |
646
+ | **x_managed_user_id** | **String** | 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. | [optional] |
647
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
648
+
649
+ ### Return type
650
+
651
+ [**DeleteCompositionDataSourceResponse**](DeleteCompositionDataSourceResponse.md)
652
+
653
+ ### Authorization
654
+
655
+ [apiKeyAuth](../README.md#apiKeyAuth)
656
+
657
+ ### HTTP request headers
658
+
659
+ - **Content-Type**: Not defined
660
+ - **Accept**: application/json
661
+
662
+
663
+ ## delete_composition_database_record_0
664
+
665
+ > <CreateCompositionDatabaseRecord201Response> delete_composition_database_record_0(id, table, record_id, opts)
666
+
667
+ Delete Record From Composition Database
668
+
669
+ 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`.
670
+
671
+ ### Examples
672
+
673
+ ```ruby
674
+ require 'time'
675
+ require 'api-sdk-rb'
676
+ # setup authorization
677
+ ApiSdkRb.configure do |config|
678
+ # Configure Bearer authorization (JWT): apiKeyAuth
679
+ config.access_token = 'YOUR_BEARER_TOKEN'
680
+ end
681
+
682
+ api_instance = ApiSdkRb::CompositionsApi.new
683
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
684
+ table = 'table_example' # String | Name of the database table
685
+ record_id = 'record_id_example' # String | ID of the record to delete
686
+ opts = {
687
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
688
+ x_managed_user_external_id: 'customer-1042' # String | 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.
689
+ }
690
+
691
+ begin
692
+ # Delete Record From Composition Database
693
+ result = api_instance.delete_composition_database_record_0(id, table, record_id, opts)
694
+ p result
695
+ rescue ApiSdkRb::ApiError => e
696
+ puts "Error when calling CompositionsApi->delete_composition_database_record_0: #{e}"
697
+ end
698
+ ```
699
+
700
+ #### Using the delete_composition_database_record_0_with_http_info variant
701
+
702
+ This returns an Array which contains the response data, status code and headers.
703
+
704
+ > <Array(<CreateCompositionDatabaseRecord201Response>, Integer, Hash)> delete_composition_database_record_0_with_http_info(id, table, record_id, opts)
705
+
706
+ ```ruby
707
+ begin
708
+ # Delete Record From Composition Database
709
+ data, status_code, headers = api_instance.delete_composition_database_record_0_with_http_info(id, table, record_id, opts)
710
+ p status_code # => 2xx
711
+ p headers # => { ... }
712
+ p data # => <CreateCompositionDatabaseRecord201Response>
713
+ rescue ApiSdkRb::ApiError => e
714
+ puts "Error when calling CompositionsApi->delete_composition_database_record_0_with_http_info: #{e}"
715
+ end
716
+ ```
717
+
718
+ ### Parameters
719
+
720
+ | Name | Type | Description | Notes |
721
+ | ---- | ---- | ----------- | ----- |
722
+ | **id** | **String** | ID of the composition | |
723
+ | **table** | **String** | Name of the database table | |
724
+ | **record_id** | **String** | ID of the record to delete | |
725
+ | **x_managed_user_id** | **String** | 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. | [optional] |
726
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
727
+
728
+ ### Return type
729
+
730
+ [**CreateCompositionDatabaseRecord201Response**](CreateCompositionDatabaseRecord201Response.md)
731
+
732
+ ### Authorization
733
+
734
+ [apiKeyAuth](../README.md#apiKeyAuth)
735
+
736
+ ### HTTP request headers
737
+
738
+ - **Content-Type**: Not defined
739
+ - **Accept**: application/json
740
+
741
+
742
+ ## describe_composition_entries_0
743
+
744
+ > <CompositionEntriesDescriptionResponse> describe_composition_entries_0(id, opts)
745
+
746
+ Describe What a Composition Keeps
747
+
748
+ 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.
749
+
750
+ ### Examples
751
+
752
+ ```ruby
753
+ require 'time'
754
+ require 'api-sdk-rb'
755
+ # setup authorization
756
+ ApiSdkRb.configure do |config|
757
+ # Configure Bearer authorization (JWT): apiKeyAuth
758
+ config.access_token = 'YOUR_BEARER_TOKEN'
759
+ end
760
+
761
+ api_instance = ApiSdkRb::CompositionsApi.new
762
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
763
+ opts = {
764
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
765
+ x_managed_user_external_id: 'customer-1042' # String | 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.
766
+ }
767
+
768
+ begin
769
+ # Describe What a Composition Keeps
770
+ result = api_instance.describe_composition_entries_0(id, opts)
771
+ p result
772
+ rescue ApiSdkRb::ApiError => e
773
+ puts "Error when calling CompositionsApi->describe_composition_entries_0: #{e}"
774
+ end
775
+ ```
776
+
777
+ #### Using the describe_composition_entries_0_with_http_info variant
778
+
779
+ This returns an Array which contains the response data, status code and headers.
780
+
781
+ > <Array(<CompositionEntriesDescriptionResponse>, Integer, Hash)> describe_composition_entries_0_with_http_info(id, opts)
782
+
783
+ ```ruby
784
+ begin
785
+ # Describe What a Composition Keeps
786
+ data, status_code, headers = api_instance.describe_composition_entries_0_with_http_info(id, opts)
787
+ p status_code # => 2xx
788
+ p headers # => { ... }
789
+ p data # => <CompositionEntriesDescriptionResponse>
790
+ rescue ApiSdkRb::ApiError => e
791
+ puts "Error when calling CompositionsApi->describe_composition_entries_0_with_http_info: #{e}"
792
+ end
793
+ ```
794
+
795
+ ### Parameters
796
+
797
+ | Name | Type | Description | Notes |
798
+ | ---- | ---- | ----------- | ----- |
799
+ | **id** | **String** | ID of the composition | |
800
+ | **x_managed_user_id** | **String** | 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. | [optional] |
801
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
802
+
803
+ ### Return type
804
+
805
+ [**CompositionEntriesDescriptionResponse**](CompositionEntriesDescriptionResponse.md)
806
+
807
+ ### Authorization
808
+
809
+ [apiKeyAuth](../README.md#apiKeyAuth)
810
+
811
+ ### HTTP request headers
812
+
813
+ - **Content-Type**: Not defined
814
+ - **Accept**: application/json
815
+
816
+
817
+ ## duplicate_composition_0
818
+
819
+ > <DuplicateComposition202Response> duplicate_composition_0(id, idempotency_key, opts)
820
+
821
+ Duplicate Composition
822
+
823
+ 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.
824
+
825
+ ### Examples
826
+
827
+ ```ruby
828
+ require 'time'
829
+ require 'api-sdk-rb'
830
+ # setup authorization
831
+ ApiSdkRb.configure do |config|
832
+ # Configure Bearer authorization (JWT): apiKeyAuth
833
+ config.access_token = 'YOUR_BEARER_TOKEN'
834
+ end
835
+
836
+ api_instance = ApiSdkRb::CompositionsApi.new
837
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition to duplicate
838
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
839
+ opts = {
840
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
841
+ x_managed_user_external_id: 'customer-1042', # String | 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.
842
+ duplicate_composition_request: ApiSdkRb::DuplicateCompositionRequest.new # DuplicateCompositionRequest |
843
+ }
844
+
845
+ begin
846
+ # Duplicate Composition
847
+ result = api_instance.duplicate_composition_0(id, idempotency_key, opts)
848
+ p result
849
+ rescue ApiSdkRb::ApiError => e
850
+ puts "Error when calling CompositionsApi->duplicate_composition_0: #{e}"
851
+ end
852
+ ```
853
+
854
+ #### Using the duplicate_composition_0_with_http_info variant
855
+
856
+ This returns an Array which contains the response data, status code and headers.
857
+
858
+ > <Array(<DuplicateComposition202Response>, Integer, Hash)> duplicate_composition_0_with_http_info(id, idempotency_key, opts)
859
+
860
+ ```ruby
861
+ begin
862
+ # Duplicate Composition
863
+ data, status_code, headers = api_instance.duplicate_composition_0_with_http_info(id, idempotency_key, opts)
864
+ p status_code # => 2xx
865
+ p headers # => { ... }
866
+ p data # => <DuplicateComposition202Response>
867
+ rescue ApiSdkRb::ApiError => e
868
+ puts "Error when calling CompositionsApi->duplicate_composition_0_with_http_info: #{e}"
869
+ end
870
+ ```
871
+
872
+ ### Parameters
873
+
874
+ | Name | Type | Description | Notes |
875
+ | ---- | ---- | ----------- | ----- |
876
+ | **id** | **String** | ID of the composition to duplicate | |
877
+ | **idempotency_key** | **String** | 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;). | |
878
+ | **x_managed_user_id** | **String** | 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. | [optional] |
879
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
880
+ | **duplicate_composition_request** | [**DuplicateCompositionRequest**](DuplicateCompositionRequest.md) | | [optional] |
881
+
882
+ ### Return type
883
+
884
+ [**DuplicateComposition202Response**](DuplicateComposition202Response.md)
885
+
886
+ ### Authorization
887
+
888
+ [apiKeyAuth](../README.md#apiKeyAuth)
889
+
890
+ ### HTTP request headers
891
+
892
+ - **Content-Type**: application/json
893
+ - **Accept**: application/json
894
+
895
+
896
+ ## get_ai_answers_knowledge_0
897
+
898
+ > <GetAiAnswersKnowledge200Response> get_ai_answers_knowledge_0(id, opts)
899
+
900
+ See the documents a widget's AI answers from
901
+
902
+ 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.
903
+
904
+ ### Examples
905
+
906
+ ```ruby
907
+ require 'time'
908
+ require 'api-sdk-rb'
909
+ # setup authorization
910
+ ApiSdkRb.configure do |config|
911
+ # Configure Bearer authorization (JWT): apiKeyAuth
912
+ config.access_token = 'YOUR_BEARER_TOKEN'
913
+ end
914
+
915
+ api_instance = ApiSdkRb::CompositionsApi.new
916
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The widget (composition) whose documents to list
917
+ opts = {
918
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
919
+ x_managed_user_external_id: 'customer-1042' # String | 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.
920
+ }
921
+
922
+ begin
923
+ # See the documents a widget's AI answers from
924
+ result = api_instance.get_ai_answers_knowledge_0(id, opts)
925
+ p result
926
+ rescue ApiSdkRb::ApiError => e
927
+ puts "Error when calling CompositionsApi->get_ai_answers_knowledge_0: #{e}"
928
+ end
929
+ ```
930
+
931
+ #### Using the get_ai_answers_knowledge_0_with_http_info variant
932
+
933
+ This returns an Array which contains the response data, status code and headers.
934
+
935
+ > <Array(<GetAiAnswersKnowledge200Response>, Integer, Hash)> get_ai_answers_knowledge_0_with_http_info(id, opts)
936
+
937
+ ```ruby
938
+ begin
939
+ # See the documents a widget's AI answers from
940
+ data, status_code, headers = api_instance.get_ai_answers_knowledge_0_with_http_info(id, opts)
941
+ p status_code # => 2xx
942
+ p headers # => { ... }
943
+ p data # => <GetAiAnswersKnowledge200Response>
944
+ rescue ApiSdkRb::ApiError => e
945
+ puts "Error when calling CompositionsApi->get_ai_answers_knowledge_0_with_http_info: #{e}"
946
+ end
947
+ ```
948
+
949
+ ### Parameters
950
+
951
+ | Name | Type | Description | Notes |
952
+ | ---- | ---- | ----------- | ----- |
953
+ | **id** | **String** | The widget (composition) whose documents to list | |
954
+ | **x_managed_user_id** | **String** | 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. | [optional] |
955
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
956
+
957
+ ### Return type
958
+
959
+ [**GetAiAnswersKnowledge200Response**](GetAiAnswersKnowledge200Response.md)
960
+
961
+ ### Authorization
962
+
963
+ [apiKeyAuth](../README.md#apiKeyAuth)
964
+
965
+ ### HTTP request headers
966
+
967
+ - **Content-Type**: Not defined
968
+ - **Accept**: application/json
969
+
970
+
971
+ ## get_all_compositions_0
972
+
973
+ > <GetAllCompositions200Response> get_all_compositions_0(opts)
974
+
975
+ Get All Compositions
976
+
977
+ 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.
978
+
979
+ ### Examples
980
+
981
+ ```ruby
982
+ require 'time'
983
+ require 'api-sdk-rb'
984
+ # setup authorization
985
+ ApiSdkRb.configure do |config|
986
+ # Configure Bearer authorization (JWT): apiKeyAuth
987
+ config.access_token = 'YOUR_BEARER_TOKEN'
988
+ end
989
+
990
+ api_instance = ApiSdkRb::CompositionsApi.new
991
+ opts = {
992
+ page: 56, # Integer | Page number for pagination
993
+ size: 56, # Integer | Number of items per page
994
+ sort: 'createdAt:desc', # String | 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.
995
+ widget_id: '38400000-8cf0-11bd-b23e-10b96e4ef00d', # String | Filter compositions by widget ID
996
+ workspace: 'true', # String | Filter by workspace
997
+ project_folder: '38400000-8cf0-11bd-b23e-10b96e4ef00d', # String | Only the compositions in this project (the project's id).
998
+ status: 'draft', # String | Only the compositions in this status. Without it, every status is listed.
999
+ managed_user_id: '38400000-8cf0-11bd-b23e-10b96e4ef00d', # String | 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.
1000
+ managed_user_external_id: 'managed_user_external_id_example', # String | 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.
1001
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1002
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1003
+ }
1004
+
1005
+ begin
1006
+ # Get All Compositions
1007
+ result = api_instance.get_all_compositions_0(opts)
1008
+ p result
1009
+ rescue ApiSdkRb::ApiError => e
1010
+ puts "Error when calling CompositionsApi->get_all_compositions_0: #{e}"
1011
+ end
1012
+ ```
1013
+
1014
+ #### Using the get_all_compositions_0_with_http_info variant
1015
+
1016
+ This returns an Array which contains the response data, status code and headers.
1017
+
1018
+ > <Array(<GetAllCompositions200Response>, Integer, Hash)> get_all_compositions_0_with_http_info(opts)
1019
+
1020
+ ```ruby
1021
+ begin
1022
+ # Get All Compositions
1023
+ data, status_code, headers = api_instance.get_all_compositions_0_with_http_info(opts)
1024
+ p status_code # => 2xx
1025
+ p headers # => { ... }
1026
+ p data # => <GetAllCompositions200Response>
1027
+ rescue ApiSdkRb::ApiError => e
1028
+ puts "Error when calling CompositionsApi->get_all_compositions_0_with_http_info: #{e}"
1029
+ end
1030
+ ```
1031
+
1032
+ ### Parameters
1033
+
1034
+ | Name | Type | Description | Notes |
1035
+ | ---- | ---- | ----------- | ----- |
1036
+ | **page** | **Integer** | Page number for pagination | [optional][default to 1] |
1037
+ | **size** | **Integer** | Number of items per page | [optional][default to 20] |
1038
+ | **sort** | **String** | The order of the list, as &#x60;&lt;field&gt;:&lt;asc|desc&gt;&#x60;. The field is &#x60;createdAt&#x60;, &#x60;updatedAt&#x60;, &#x60;name&#x60; or &#x60;status&#x60; (the snake_case spelling, such as &#x60;created_at&#x60;, is read too). &#x60;asc&#x60; or &#x60;desc&#x60; alone orders by &#x60;createdAt&#x60;. Default: &#x60;createdAt:desc&#x60;. Any other field is a 400. | [optional] |
1039
+ | **widget_id** | **String** | Filter compositions by widget ID | [optional] |
1040
+ | **workspace** | **String** | Filter by workspace | [optional] |
1041
+ | **project_folder** | **String** | Only the compositions in this project (the project&#39;s id). | [optional] |
1042
+ | **status** | **String** | Only the compositions in this status. Without it, every status is listed. | [optional] |
1043
+ | **managed_user_id** | **String** | List only the compositions made for this managed user (Widgetic&#39;s id for the user). Send this or &#x60;managedUserExternalId&#x60;, not both. Send it as &#x60;managedUserId&#x60;; the snake_case spelling &#x60;managed_user_id&#x60; is refused with a 400, not ignored. | [optional] |
1044
+ | **managed_user_external_id** | **String** | List only the compositions made for the managed user you registered with this &#x60;externalId&#x60; (your own identifier for the user). Send this or &#x60;managedUserId&#x60;, not both. | [optional] |
1045
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1046
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1047
+
1048
+ ### Return type
1049
+
1050
+ [**GetAllCompositions200Response**](GetAllCompositions200Response.md)
1051
+
1052
+ ### Authorization
1053
+
1054
+ [apiKeyAuth](../README.md#apiKeyAuth)
1055
+
1056
+ ### HTTP request headers
1057
+
1058
+ - **Content-Type**: Not defined
1059
+ - **Accept**: application/json
1060
+
1061
+
1062
+ ## get_composition_by_id_0
1063
+
1064
+ > <CreateCompositionFromWidget201Response> get_composition_by_id_0(id, opts)
1065
+
1066
+ Get Composition
1067
+
1068
+ 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.
1069
+
1070
+ ### Examples
1071
+
1072
+ ```ruby
1073
+ require 'time'
1074
+ require 'api-sdk-rb'
1075
+ # setup authorization
1076
+ ApiSdkRb.configure do |config|
1077
+ # Configure Bearer authorization (JWT): apiKeyAuth
1078
+ config.access_token = 'YOUR_BEARER_TOKEN'
1079
+ end
1080
+
1081
+ api_instance = ApiSdkRb::CompositionsApi.new
1082
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | Composition ID
1083
+ opts = {
1084
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1085
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1086
+ }
1087
+
1088
+ begin
1089
+ # Get Composition
1090
+ result = api_instance.get_composition_by_id_0(id, opts)
1091
+ p result
1092
+ rescue ApiSdkRb::ApiError => e
1093
+ puts "Error when calling CompositionsApi->get_composition_by_id_0: #{e}"
1094
+ end
1095
+ ```
1096
+
1097
+ #### Using the get_composition_by_id_0_with_http_info variant
1098
+
1099
+ This returns an Array which contains the response data, status code and headers.
1100
+
1101
+ > <Array(<CreateCompositionFromWidget201Response>, Integer, Hash)> get_composition_by_id_0_with_http_info(id, opts)
1102
+
1103
+ ```ruby
1104
+ begin
1105
+ # Get Composition
1106
+ data, status_code, headers = api_instance.get_composition_by_id_0_with_http_info(id, opts)
1107
+ p status_code # => 2xx
1108
+ p headers # => { ... }
1109
+ p data # => <CreateCompositionFromWidget201Response>
1110
+ rescue ApiSdkRb::ApiError => e
1111
+ puts "Error when calling CompositionsApi->get_composition_by_id_0_with_http_info: #{e}"
1112
+ end
1113
+ ```
1114
+
1115
+ ### Parameters
1116
+
1117
+ | Name | Type | Description | Notes |
1118
+ | ---- | ---- | ----------- | ----- |
1119
+ | **id** | **String** | Composition ID | |
1120
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1121
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1122
+
1123
+ ### Return type
1124
+
1125
+ [**CreateCompositionFromWidget201Response**](CreateCompositionFromWidget201Response.md)
1126
+
1127
+ ### Authorization
1128
+
1129
+ [apiKeyAuth](../README.md#apiKeyAuth)
1130
+
1131
+ ### HTTP request headers
1132
+
1133
+ - **Content-Type**: Not defined
1134
+ - **Accept**: application/json
1135
+
1136
+
1137
+ ## get_composition_content_0
1138
+
1139
+ > <GetCompositionContentResponse> get_composition_content_0(id, opts)
1140
+
1141
+ Get Current Content
1142
+
1143
+ Retrieves the current content of a composition
1144
+
1145
+ ### Examples
1146
+
1147
+ ```ruby
1148
+ require 'time'
1149
+ require 'api-sdk-rb'
1150
+ # setup authorization
1151
+ ApiSdkRb.configure do |config|
1152
+ # Configure Bearer authorization (JWT): apiKeyAuth
1153
+ config.access_token = 'YOUR_BEARER_TOKEN'
1154
+ end
1155
+
1156
+ api_instance = ApiSdkRb::CompositionsApi.new
1157
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1158
+ opts = {
1159
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1160
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1161
+ }
1162
+
1163
+ begin
1164
+ # Get Current Content
1165
+ result = api_instance.get_composition_content_0(id, opts)
1166
+ p result
1167
+ rescue ApiSdkRb::ApiError => e
1168
+ puts "Error when calling CompositionsApi->get_composition_content_0: #{e}"
1169
+ end
1170
+ ```
1171
+
1172
+ #### Using the get_composition_content_0_with_http_info variant
1173
+
1174
+ This returns an Array which contains the response data, status code and headers.
1175
+
1176
+ > <Array(<GetCompositionContentResponse>, Integer, Hash)> get_composition_content_0_with_http_info(id, opts)
1177
+
1178
+ ```ruby
1179
+ begin
1180
+ # Get Current Content
1181
+ data, status_code, headers = api_instance.get_composition_content_0_with_http_info(id, opts)
1182
+ p status_code # => 2xx
1183
+ p headers # => { ... }
1184
+ p data # => <GetCompositionContentResponse>
1185
+ rescue ApiSdkRb::ApiError => e
1186
+ puts "Error when calling CompositionsApi->get_composition_content_0_with_http_info: #{e}"
1187
+ end
1188
+ ```
1189
+
1190
+ ### Parameters
1191
+
1192
+ | Name | Type | Description | Notes |
1193
+ | ---- | ---- | ----------- | ----- |
1194
+ | **id** | **String** | ID of the composition | |
1195
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1196
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1197
+
1198
+ ### Return type
1199
+
1200
+ [**GetCompositionContentResponse**](GetCompositionContentResponse.md)
1201
+
1202
+ ### Authorization
1203
+
1204
+ [apiKeyAuth](../README.md#apiKeyAuth)
1205
+
1206
+ ### HTTP request headers
1207
+
1208
+ - **Content-Type**: Not defined
1209
+ - **Accept**: application/json
1210
+
1211
+
1212
+ ## get_composition_content_schema_0
1213
+
1214
+ > <GetCompositionContentSchemaResponse> get_composition_content_schema_0(id, opts)
1215
+
1216
+ Get Content Schema
1217
+
1218
+ Retrieves the content schema for a composition based on its widget type
1219
+
1220
+ ### Examples
1221
+
1222
+ ```ruby
1223
+ require 'time'
1224
+ require 'api-sdk-rb'
1225
+ # setup authorization
1226
+ ApiSdkRb.configure do |config|
1227
+ # Configure Bearer authorization (JWT): apiKeyAuth
1228
+ config.access_token = 'YOUR_BEARER_TOKEN'
1229
+ end
1230
+
1231
+ api_instance = ApiSdkRb::CompositionsApi.new
1232
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1233
+ opts = {
1234
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1235
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1236
+ }
1237
+
1238
+ begin
1239
+ # Get Content Schema
1240
+ result = api_instance.get_composition_content_schema_0(id, opts)
1241
+ p result
1242
+ rescue ApiSdkRb::ApiError => e
1243
+ puts "Error when calling CompositionsApi->get_composition_content_schema_0: #{e}"
1244
+ end
1245
+ ```
1246
+
1247
+ #### Using the get_composition_content_schema_0_with_http_info variant
1248
+
1249
+ This returns an Array which contains the response data, status code and headers.
1250
+
1251
+ > <Array(<GetCompositionContentSchemaResponse>, Integer, Hash)> get_composition_content_schema_0_with_http_info(id, opts)
1252
+
1253
+ ```ruby
1254
+ begin
1255
+ # Get Content Schema
1256
+ data, status_code, headers = api_instance.get_composition_content_schema_0_with_http_info(id, opts)
1257
+ p status_code # => 2xx
1258
+ p headers # => { ... }
1259
+ p data # => <GetCompositionContentSchemaResponse>
1260
+ rescue ApiSdkRb::ApiError => e
1261
+ puts "Error when calling CompositionsApi->get_composition_content_schema_0_with_http_info: #{e}"
1262
+ end
1263
+ ```
1264
+
1265
+ ### Parameters
1266
+
1267
+ | Name | Type | Description | Notes |
1268
+ | ---- | ---- | ----------- | ----- |
1269
+ | **id** | **String** | ID of the composition | |
1270
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1271
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1272
+
1273
+ ### Return type
1274
+
1275
+ [**GetCompositionContentSchemaResponse**](GetCompositionContentSchemaResponse.md)
1276
+
1277
+ ### Authorization
1278
+
1279
+ [apiKeyAuth](../README.md#apiKeyAuth)
1280
+
1281
+ ### HTTP request headers
1282
+
1283
+ - **Content-Type**: Not defined
1284
+ - **Accept**: application/json
1285
+
1286
+
1287
+ ## get_composition_data_source_0
1288
+
1289
+ > <GetCompositionDataSourceResponse> get_composition_data_source_0(id, opts)
1290
+
1291
+ Read the composition data source binding
1292
+
1293
+ 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).
1294
+
1295
+ ### Examples
1296
+
1297
+ ```ruby
1298
+ require 'time'
1299
+ require 'api-sdk-rb'
1300
+ # setup authorization
1301
+ ApiSdkRb.configure do |config|
1302
+ # Configure Bearer authorization (JWT): apiKeyAuth
1303
+ config.access_token = 'YOUR_BEARER_TOKEN'
1304
+ end
1305
+
1306
+ api_instance = ApiSdkRb::CompositionsApi.new
1307
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
1308
+ opts = {
1309
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1310
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1311
+ }
1312
+
1313
+ begin
1314
+ # Read the composition data source binding
1315
+ result = api_instance.get_composition_data_source_0(id, opts)
1316
+ p result
1317
+ rescue ApiSdkRb::ApiError => e
1318
+ puts "Error when calling CompositionsApi->get_composition_data_source_0: #{e}"
1319
+ end
1320
+ ```
1321
+
1322
+ #### Using the get_composition_data_source_0_with_http_info variant
1323
+
1324
+ This returns an Array which contains the response data, status code and headers.
1325
+
1326
+ > <Array(<GetCompositionDataSourceResponse>, Integer, Hash)> get_composition_data_source_0_with_http_info(id, opts)
1327
+
1328
+ ```ruby
1329
+ begin
1330
+ # Read the composition data source binding
1331
+ data, status_code, headers = api_instance.get_composition_data_source_0_with_http_info(id, opts)
1332
+ p status_code # => 2xx
1333
+ p headers # => { ... }
1334
+ p data # => <GetCompositionDataSourceResponse>
1335
+ rescue ApiSdkRb::ApiError => e
1336
+ puts "Error when calling CompositionsApi->get_composition_data_source_0_with_http_info: #{e}"
1337
+ end
1338
+ ```
1339
+
1340
+ ### Parameters
1341
+
1342
+ | Name | Type | Description | Notes |
1343
+ | ---- | ---- | ----------- | ----- |
1344
+ | **id** | **String** | | |
1345
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1346
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1347
+
1348
+ ### Return type
1349
+
1350
+ [**GetCompositionDataSourceResponse**](GetCompositionDataSourceResponse.md)
1351
+
1352
+ ### Authorization
1353
+
1354
+ [apiKeyAuth](../README.md#apiKeyAuth)
1355
+
1356
+ ### HTTP request headers
1357
+
1358
+ - **Content-Type**: Not defined
1359
+ - **Accept**: application/json
1360
+
1361
+
1362
+ ## get_composition_database_record_0
1363
+
1364
+ > <CreateCompositionDatabaseRecord201Response> get_composition_database_record_0(id, table, record_id, opts)
1365
+
1366
+ Get Record From Composition Database
1367
+
1368
+ 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`.
1369
+
1370
+ ### Examples
1371
+
1372
+ ```ruby
1373
+ require 'time'
1374
+ require 'api-sdk-rb'
1375
+ # setup authorization
1376
+ ApiSdkRb.configure do |config|
1377
+ # Configure Bearer authorization (JWT): apiKeyAuth
1378
+ config.access_token = 'YOUR_BEARER_TOKEN'
1379
+ end
1380
+
1381
+ api_instance = ApiSdkRb::CompositionsApi.new
1382
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1383
+ table = 'table_example' # String | Name of the database table
1384
+ record_id = 'record_id_example' # String | ID of the record to retrieve
1385
+ opts = {
1386
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1387
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1388
+ }
1389
+
1390
+ begin
1391
+ # Get Record From Composition Database
1392
+ result = api_instance.get_composition_database_record_0(id, table, record_id, opts)
1393
+ p result
1394
+ rescue ApiSdkRb::ApiError => e
1395
+ puts "Error when calling CompositionsApi->get_composition_database_record_0: #{e}"
1396
+ end
1397
+ ```
1398
+
1399
+ #### Using the get_composition_database_record_0_with_http_info variant
1400
+
1401
+ This returns an Array which contains the response data, status code and headers.
1402
+
1403
+ > <Array(<CreateCompositionDatabaseRecord201Response>, Integer, Hash)> get_composition_database_record_0_with_http_info(id, table, record_id, opts)
1404
+
1405
+ ```ruby
1406
+ begin
1407
+ # Get Record From Composition Database
1408
+ data, status_code, headers = api_instance.get_composition_database_record_0_with_http_info(id, table, record_id, opts)
1409
+ p status_code # => 2xx
1410
+ p headers # => { ... }
1411
+ p data # => <CreateCompositionDatabaseRecord201Response>
1412
+ rescue ApiSdkRb::ApiError => e
1413
+ puts "Error when calling CompositionsApi->get_composition_database_record_0_with_http_info: #{e}"
1414
+ end
1415
+ ```
1416
+
1417
+ ### Parameters
1418
+
1419
+ | Name | Type | Description | Notes |
1420
+ | ---- | ---- | ----------- | ----- |
1421
+ | **id** | **String** | ID of the composition | |
1422
+ | **table** | **String** | Name of the database table | |
1423
+ | **record_id** | **String** | ID of the record to retrieve | |
1424
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1425
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1426
+
1427
+ ### Return type
1428
+
1429
+ [**CreateCompositionDatabaseRecord201Response**](CreateCompositionDatabaseRecord201Response.md)
1430
+
1431
+ ### Authorization
1432
+
1433
+ [apiKeyAuth](../README.md#apiKeyAuth)
1434
+
1435
+ ### HTTP request headers
1436
+
1437
+ - **Content-Type**: Not defined
1438
+ - **Accept**: application/json
1439
+
1440
+
1441
+ ## get_composition_database_records_0
1442
+
1443
+ > <GetCompositionDatabaseRecords200Response> get_composition_database_records_0(id, table, opts)
1444
+
1445
+ Get All Records From Composition Database Table
1446
+
1447
+ 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`.
1448
+
1449
+ ### Examples
1450
+
1451
+ ```ruby
1452
+ require 'time'
1453
+ require 'api-sdk-rb'
1454
+ # setup authorization
1455
+ ApiSdkRb.configure do |config|
1456
+ # Configure Bearer authorization (JWT): apiKeyAuth
1457
+ config.access_token = 'YOUR_BEARER_TOKEN'
1458
+ end
1459
+
1460
+ api_instance = ApiSdkRb::CompositionsApi.new
1461
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1462
+ table = 'table_example' # String | Name of the database table
1463
+ opts = {
1464
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1465
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1466
+ }
1467
+
1468
+ begin
1469
+ # Get All Records From Composition Database Table
1470
+ result = api_instance.get_composition_database_records_0(id, table, opts)
1471
+ p result
1472
+ rescue ApiSdkRb::ApiError => e
1473
+ puts "Error when calling CompositionsApi->get_composition_database_records_0: #{e}"
1474
+ end
1475
+ ```
1476
+
1477
+ #### Using the get_composition_database_records_0_with_http_info variant
1478
+
1479
+ This returns an Array which contains the response data, status code and headers.
1480
+
1481
+ > <Array(<GetCompositionDatabaseRecords200Response>, Integer, Hash)> get_composition_database_records_0_with_http_info(id, table, opts)
1482
+
1483
+ ```ruby
1484
+ begin
1485
+ # Get All Records From Composition Database Table
1486
+ data, status_code, headers = api_instance.get_composition_database_records_0_with_http_info(id, table, opts)
1487
+ p status_code # => 2xx
1488
+ p headers # => { ... }
1489
+ p data # => <GetCompositionDatabaseRecords200Response>
1490
+ rescue ApiSdkRb::ApiError => e
1491
+ puts "Error when calling CompositionsApi->get_composition_database_records_0_with_http_info: #{e}"
1492
+ end
1493
+ ```
1494
+
1495
+ ### Parameters
1496
+
1497
+ | Name | Type | Description | Notes |
1498
+ | ---- | ---- | ----------- | ----- |
1499
+ | **id** | **String** | ID of the composition | |
1500
+ | **table** | **String** | Name of the database table | |
1501
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1502
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1503
+
1504
+ ### Return type
1505
+
1506
+ [**GetCompositionDatabaseRecords200Response**](GetCompositionDatabaseRecords200Response.md)
1507
+
1508
+ ### Authorization
1509
+
1510
+ [apiKeyAuth](../README.md#apiKeyAuth)
1511
+
1512
+ ### HTTP request headers
1513
+
1514
+ - **Content-Type**: Not defined
1515
+ - **Accept**: application/json
1516
+
1517
+
1518
+ ## get_composition_design_0
1519
+
1520
+ > <GetCompositionDesignResponse> get_composition_design_0(id, opts)
1521
+
1522
+ Get Composition Design
1523
+
1524
+ Retrieves only the design field from a composition.
1525
+
1526
+ ### Examples
1527
+
1528
+ ```ruby
1529
+ require 'time'
1530
+ require 'api-sdk-rb'
1531
+ # setup authorization
1532
+ ApiSdkRb.configure do |config|
1533
+ # Configure Bearer authorization (JWT): apiKeyAuth
1534
+ config.access_token = 'YOUR_BEARER_TOKEN'
1535
+ end
1536
+
1537
+ api_instance = ApiSdkRb::CompositionsApi.new
1538
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1539
+ opts = {
1540
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1541
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1542
+ }
1543
+
1544
+ begin
1545
+ # Get Composition Design
1546
+ result = api_instance.get_composition_design_0(id, opts)
1547
+ p result
1548
+ rescue ApiSdkRb::ApiError => e
1549
+ puts "Error when calling CompositionsApi->get_composition_design_0: #{e}"
1550
+ end
1551
+ ```
1552
+
1553
+ #### Using the get_composition_design_0_with_http_info variant
1554
+
1555
+ This returns an Array which contains the response data, status code and headers.
1556
+
1557
+ > <Array(<GetCompositionDesignResponse>, Integer, Hash)> get_composition_design_0_with_http_info(id, opts)
1558
+
1559
+ ```ruby
1560
+ begin
1561
+ # Get Composition Design
1562
+ data, status_code, headers = api_instance.get_composition_design_0_with_http_info(id, opts)
1563
+ p status_code # => 2xx
1564
+ p headers # => { ... }
1565
+ p data # => <GetCompositionDesignResponse>
1566
+ rescue ApiSdkRb::ApiError => e
1567
+ puts "Error when calling CompositionsApi->get_composition_design_0_with_http_info: #{e}"
1568
+ end
1569
+ ```
1570
+
1571
+ ### Parameters
1572
+
1573
+ | Name | Type | Description | Notes |
1574
+ | ---- | ---- | ----------- | ----- |
1575
+ | **id** | **String** | ID of the composition | |
1576
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1577
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1578
+
1579
+ ### Return type
1580
+
1581
+ [**GetCompositionDesignResponse**](GetCompositionDesignResponse.md)
1582
+
1583
+ ### Authorization
1584
+
1585
+ [apiKeyAuth](../README.md#apiKeyAuth)
1586
+
1587
+ ### HTTP request headers
1588
+
1589
+ - **Content-Type**: Not defined
1590
+ - **Accept**: application/json
1591
+
1592
+
1593
+ ## get_composition_design_schema_0
1594
+
1595
+ > <GetCompositionDesignSchemaResponse> get_composition_design_schema_0(id, opts)
1596
+
1597
+ Get Design Schema
1598
+
1599
+ Retrieves the design schema for a composition based on its widget type
1600
+
1601
+ ### Examples
1602
+
1603
+ ```ruby
1604
+ require 'time'
1605
+ require 'api-sdk-rb'
1606
+ # setup authorization
1607
+ ApiSdkRb.configure do |config|
1608
+ # Configure Bearer authorization (JWT): apiKeyAuth
1609
+ config.access_token = 'YOUR_BEARER_TOKEN'
1610
+ end
1611
+
1612
+ api_instance = ApiSdkRb::CompositionsApi.new
1613
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1614
+ opts = {
1615
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1616
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1617
+ }
1618
+
1619
+ begin
1620
+ # Get Design Schema
1621
+ result = api_instance.get_composition_design_schema_0(id, opts)
1622
+ p result
1623
+ rescue ApiSdkRb::ApiError => e
1624
+ puts "Error when calling CompositionsApi->get_composition_design_schema_0: #{e}"
1625
+ end
1626
+ ```
1627
+
1628
+ #### Using the get_composition_design_schema_0_with_http_info variant
1629
+
1630
+ This returns an Array which contains the response data, status code and headers.
1631
+
1632
+ > <Array(<GetCompositionDesignSchemaResponse>, Integer, Hash)> get_composition_design_schema_0_with_http_info(id, opts)
1633
+
1634
+ ```ruby
1635
+ begin
1636
+ # Get Design Schema
1637
+ data, status_code, headers = api_instance.get_composition_design_schema_0_with_http_info(id, opts)
1638
+ p status_code # => 2xx
1639
+ p headers # => { ... }
1640
+ p data # => <GetCompositionDesignSchemaResponse>
1641
+ rescue ApiSdkRb::ApiError => e
1642
+ puts "Error when calling CompositionsApi->get_composition_design_schema_0_with_http_info: #{e}"
1643
+ end
1644
+ ```
1645
+
1646
+ ### Parameters
1647
+
1648
+ | Name | Type | Description | Notes |
1649
+ | ---- | ---- | ----------- | ----- |
1650
+ | **id** | **String** | ID of the composition | |
1651
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1652
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1653
+
1654
+ ### Return type
1655
+
1656
+ [**GetCompositionDesignSchemaResponse**](GetCompositionDesignSchemaResponse.md)
1657
+
1658
+ ### Authorization
1659
+
1660
+ [apiKeyAuth](../README.md#apiKeyAuth)
1661
+
1662
+ ### HTTP request headers
1663
+
1664
+ - **Content-Type**: Not defined
1665
+ - **Accept**: application/json
1666
+
1667
+
1668
+ ## get_composition_embed_schema_0
1669
+
1670
+ > <GetCompositionEmbedSchemaResponse> get_composition_embed_schema_0(id, opts)
1671
+
1672
+ Get Embed Schema
1673
+
1674
+ 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).
1675
+
1676
+ ### Examples
1677
+
1678
+ ```ruby
1679
+ require 'time'
1680
+ require 'api-sdk-rb'
1681
+ # setup authorization
1682
+ ApiSdkRb.configure do |config|
1683
+ # Configure Bearer authorization (JWT): apiKeyAuth
1684
+ config.access_token = 'YOUR_BEARER_TOKEN'
1685
+ end
1686
+
1687
+ api_instance = ApiSdkRb::CompositionsApi.new
1688
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1689
+ opts = {
1690
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1691
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1692
+ }
1693
+
1694
+ begin
1695
+ # Get Embed Schema
1696
+ result = api_instance.get_composition_embed_schema_0(id, opts)
1697
+ p result
1698
+ rescue ApiSdkRb::ApiError => e
1699
+ puts "Error when calling CompositionsApi->get_composition_embed_schema_0: #{e}"
1700
+ end
1701
+ ```
1702
+
1703
+ #### Using the get_composition_embed_schema_0_with_http_info variant
1704
+
1705
+ This returns an Array which contains the response data, status code and headers.
1706
+
1707
+ > <Array(<GetCompositionEmbedSchemaResponse>, Integer, Hash)> get_composition_embed_schema_0_with_http_info(id, opts)
1708
+
1709
+ ```ruby
1710
+ begin
1711
+ # Get Embed Schema
1712
+ data, status_code, headers = api_instance.get_composition_embed_schema_0_with_http_info(id, opts)
1713
+ p status_code # => 2xx
1714
+ p headers # => { ... }
1715
+ p data # => <GetCompositionEmbedSchemaResponse>
1716
+ rescue ApiSdkRb::ApiError => e
1717
+ puts "Error when calling CompositionsApi->get_composition_embed_schema_0_with_http_info: #{e}"
1718
+ end
1719
+ ```
1720
+
1721
+ ### Parameters
1722
+
1723
+ | Name | Type | Description | Notes |
1724
+ | ---- | ---- | ----------- | ----- |
1725
+ | **id** | **String** | ID of the composition | |
1726
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1727
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1728
+
1729
+ ### Return type
1730
+
1731
+ [**GetCompositionEmbedSchemaResponse**](GetCompositionEmbedSchemaResponse.md)
1732
+
1733
+ ### Authorization
1734
+
1735
+ [apiKeyAuth](../README.md#apiKeyAuth)
1736
+
1737
+ ### HTTP request headers
1738
+
1739
+ - **Content-Type**: Not defined
1740
+ - **Accept**: application/json
1741
+
1742
+
1743
+ ## get_composition_embed_settings_0
1744
+
1745
+ > <GetCompositionEmbedSettingsResponse> get_composition_embed_settings_0(id, opts)
1746
+
1747
+ Get Composition Embed Settings
1748
+
1749
+ Retrieves only the embedSettings field from a composition.
1750
+
1751
+ ### Examples
1752
+
1753
+ ```ruby
1754
+ require 'time'
1755
+ require 'api-sdk-rb'
1756
+ # setup authorization
1757
+ ApiSdkRb.configure do |config|
1758
+ # Configure Bearer authorization (JWT): apiKeyAuth
1759
+ config.access_token = 'YOUR_BEARER_TOKEN'
1760
+ end
1761
+
1762
+ api_instance = ApiSdkRb::CompositionsApi.new
1763
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1764
+ opts = {
1765
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1766
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1767
+ }
1768
+
1769
+ begin
1770
+ # Get Composition Embed Settings
1771
+ result = api_instance.get_composition_embed_settings_0(id, opts)
1772
+ p result
1773
+ rescue ApiSdkRb::ApiError => e
1774
+ puts "Error when calling CompositionsApi->get_composition_embed_settings_0: #{e}"
1775
+ end
1776
+ ```
1777
+
1778
+ #### Using the get_composition_embed_settings_0_with_http_info variant
1779
+
1780
+ This returns an Array which contains the response data, status code and headers.
1781
+
1782
+ > <Array(<GetCompositionEmbedSettingsResponse>, Integer, Hash)> get_composition_embed_settings_0_with_http_info(id, opts)
1783
+
1784
+ ```ruby
1785
+ begin
1786
+ # Get Composition Embed Settings
1787
+ data, status_code, headers = api_instance.get_composition_embed_settings_0_with_http_info(id, opts)
1788
+ p status_code # => 2xx
1789
+ p headers # => { ... }
1790
+ p data # => <GetCompositionEmbedSettingsResponse>
1791
+ rescue ApiSdkRb::ApiError => e
1792
+ puts "Error when calling CompositionsApi->get_composition_embed_settings_0_with_http_info: #{e}"
1793
+ end
1794
+ ```
1795
+
1796
+ ### Parameters
1797
+
1798
+ | Name | Type | Description | Notes |
1799
+ | ---- | ---- | ----------- | ----- |
1800
+ | **id** | **String** | ID of the composition | |
1801
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1802
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1803
+
1804
+ ### Return type
1805
+
1806
+ [**GetCompositionEmbedSettingsResponse**](GetCompositionEmbedSettingsResponse.md)
1807
+
1808
+ ### Authorization
1809
+
1810
+ [apiKeyAuth](../README.md#apiKeyAuth)
1811
+
1812
+ ### HTTP request headers
1813
+
1814
+ - **Content-Type**: Not defined
1815
+ - **Accept**: application/json
1816
+
1817
+
1818
+ ## get_composition_preview_0
1819
+
1820
+ > <GetCompositionPreviewResponse> get_composition_preview_0(id, opts)
1821
+
1822
+ Get Composition Preview
1823
+
1824
+ 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`.
1825
+
1826
+ ### Examples
1827
+
1828
+ ```ruby
1829
+ require 'time'
1830
+ require 'api-sdk-rb'
1831
+ # setup authorization
1832
+ ApiSdkRb.configure do |config|
1833
+ # Configure Bearer authorization (JWT): apiKeyAuth
1834
+ config.access_token = 'YOUR_BEARER_TOKEN'
1835
+ end
1836
+
1837
+ api_instance = ApiSdkRb::CompositionsApi.new
1838
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
1839
+ opts = {
1840
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1841
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1842
+ }
1843
+
1844
+ begin
1845
+ # Get Composition Preview
1846
+ result = api_instance.get_composition_preview_0(id, opts)
1847
+ p result
1848
+ rescue ApiSdkRb::ApiError => e
1849
+ puts "Error when calling CompositionsApi->get_composition_preview_0: #{e}"
1850
+ end
1851
+ ```
1852
+
1853
+ #### Using the get_composition_preview_0_with_http_info variant
1854
+
1855
+ This returns an Array which contains the response data, status code and headers.
1856
+
1857
+ > <Array(<GetCompositionPreviewResponse>, Integer, Hash)> get_composition_preview_0_with_http_info(id, opts)
1858
+
1859
+ ```ruby
1860
+ begin
1861
+ # Get Composition Preview
1862
+ data, status_code, headers = api_instance.get_composition_preview_0_with_http_info(id, opts)
1863
+ p status_code # => 2xx
1864
+ p headers # => { ... }
1865
+ p data # => <GetCompositionPreviewResponse>
1866
+ rescue ApiSdkRb::ApiError => e
1867
+ puts "Error when calling CompositionsApi->get_composition_preview_0_with_http_info: #{e}"
1868
+ end
1869
+ ```
1870
+
1871
+ ### Parameters
1872
+
1873
+ | Name | Type | Description | Notes |
1874
+ | ---- | ---- | ----------- | ----- |
1875
+ | **id** | **String** | ID of the composition | |
1876
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1877
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1878
+
1879
+ ### Return type
1880
+
1881
+ [**GetCompositionPreviewResponse**](GetCompositionPreviewResponse.md)
1882
+
1883
+ ### Authorization
1884
+
1885
+ [apiKeyAuth](../README.md#apiKeyAuth)
1886
+
1887
+ ### HTTP request headers
1888
+
1889
+ - **Content-Type**: Not defined
1890
+ - **Accept**: application/json
1891
+
1892
+
1893
+ ## get_composition_versions_0
1894
+
1895
+ > <GetCompositionVersions200Response> get_composition_versions_0(id, opts)
1896
+
1897
+ Get Composition Versions
1898
+
1899
+ Retrieves version history for a specific composition.
1900
+
1901
+ ### Examples
1902
+
1903
+ ```ruby
1904
+ require 'time'
1905
+ require 'api-sdk-rb'
1906
+ # setup authorization
1907
+ ApiSdkRb.configure do |config|
1908
+ # Configure Bearer authorization (JWT): apiKeyAuth
1909
+ config.access_token = 'YOUR_BEARER_TOKEN'
1910
+ end
1911
+
1912
+ api_instance = ApiSdkRb::CompositionsApi.new
1913
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | Composition ID
1914
+ opts = {
1915
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
1916
+ x_managed_user_external_id: 'customer-1042' # String | 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.
1917
+ }
1918
+
1919
+ begin
1920
+ # Get Composition Versions
1921
+ result = api_instance.get_composition_versions_0(id, opts)
1922
+ p result
1923
+ rescue ApiSdkRb::ApiError => e
1924
+ puts "Error when calling CompositionsApi->get_composition_versions_0: #{e}"
1925
+ end
1926
+ ```
1927
+
1928
+ #### Using the get_composition_versions_0_with_http_info variant
1929
+
1930
+ This returns an Array which contains the response data, status code and headers.
1931
+
1932
+ > <Array(<GetCompositionVersions200Response>, Integer, Hash)> get_composition_versions_0_with_http_info(id, opts)
1933
+
1934
+ ```ruby
1935
+ begin
1936
+ # Get Composition Versions
1937
+ data, status_code, headers = api_instance.get_composition_versions_0_with_http_info(id, opts)
1938
+ p status_code # => 2xx
1939
+ p headers # => { ... }
1940
+ p data # => <GetCompositionVersions200Response>
1941
+ rescue ApiSdkRb::ApiError => e
1942
+ puts "Error when calling CompositionsApi->get_composition_versions_0_with_http_info: #{e}"
1943
+ end
1944
+ ```
1945
+
1946
+ ### Parameters
1947
+
1948
+ | Name | Type | Description | Notes |
1949
+ | ---- | ---- | ----------- | ----- |
1950
+ | **id** | **String** | Composition ID | |
1951
+ | **x_managed_user_id** | **String** | 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. | [optional] |
1952
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
1953
+
1954
+ ### Return type
1955
+
1956
+ [**GetCompositionVersions200Response**](GetCompositionVersions200Response.md)
1957
+
1958
+ ### Authorization
1959
+
1960
+ [apiKeyAuth](../README.md#apiKeyAuth)
1961
+
1962
+ ### HTTP request headers
1963
+
1964
+ - **Content-Type**: Not defined
1965
+ - **Accept**: application/json
1966
+
1967
+
1968
+ ## get_compositions_batch_0
1969
+
1970
+ > <GetCompositionsBatchResponse> get_compositions_batch_0(get_compositions_batch_request)
1971
+
1972
+ Get Compositions Batch
1973
+
1974
+ 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.
1975
+
1976
+ ### Examples
1977
+
1978
+ ```ruby
1979
+ require 'time'
1980
+ require 'api-sdk-rb'
1981
+ # setup authorization
1982
+ ApiSdkRb.configure do |config|
1983
+ # Configure Bearer authorization (JWT): apiKeyAuth
1984
+ config.access_token = 'YOUR_BEARER_TOKEN'
1985
+ end
1986
+
1987
+ api_instance = ApiSdkRb::CompositionsApi.new
1988
+ get_compositions_batch_request = ApiSdkRb::GetCompositionsBatchRequest.new({composition_ids: ['composition_ids_example']}) # GetCompositionsBatchRequest |
1989
+
1990
+ begin
1991
+ # Get Compositions Batch
1992
+ result = api_instance.get_compositions_batch_0(get_compositions_batch_request)
1993
+ p result
1994
+ rescue ApiSdkRb::ApiError => e
1995
+ puts "Error when calling CompositionsApi->get_compositions_batch_0: #{e}"
1996
+ end
1997
+ ```
1998
+
1999
+ #### Using the get_compositions_batch_0_with_http_info variant
2000
+
2001
+ This returns an Array which contains the response data, status code and headers.
2002
+
2003
+ > <Array(<GetCompositionsBatchResponse>, Integer, Hash)> get_compositions_batch_0_with_http_info(get_compositions_batch_request)
2004
+
2005
+ ```ruby
2006
+ begin
2007
+ # Get Compositions Batch
2008
+ data, status_code, headers = api_instance.get_compositions_batch_0_with_http_info(get_compositions_batch_request)
2009
+ p status_code # => 2xx
2010
+ p headers # => { ... }
2011
+ p data # => <GetCompositionsBatchResponse>
2012
+ rescue ApiSdkRb::ApiError => e
2013
+ puts "Error when calling CompositionsApi->get_compositions_batch_0_with_http_info: #{e}"
2014
+ end
2015
+ ```
2016
+
2017
+ ### Parameters
2018
+
2019
+ | Name | Type | Description | Notes |
2020
+ | ---- | ---- | ----------- | ----- |
2021
+ | **get_compositions_batch_request** | [**GetCompositionsBatchRequest**](GetCompositionsBatchRequest.md) | | |
2022
+
2023
+ ### Return type
2024
+
2025
+ [**GetCompositionsBatchResponse**](GetCompositionsBatchResponse.md)
2026
+
2027
+ ### Authorization
2028
+
2029
+ [apiKeyAuth](../README.md#apiKeyAuth)
2030
+
2031
+ ### HTTP request headers
2032
+
2033
+ - **Content-Type**: application/json
2034
+ - **Accept**: application/json
2035
+
2036
+
2037
+ ## patch_composition_content_item_0
2038
+
2039
+ > <CreateCompositionContentItem201Response> patch_composition_content_item_0(id, list, item_id, idempotency_key, request_body, opts)
2040
+
2041
+ Update a content list item
2042
+
2043
+ ### Examples
2044
+
2045
+ ```ruby
2046
+ require 'time'
2047
+ require 'api-sdk-rb'
2048
+ # setup authorization
2049
+ ApiSdkRb.configure do |config|
2050
+ # Configure Bearer authorization (JWT): apiKeyAuth
2051
+ config.access_token = 'YOUR_BEARER_TOKEN'
2052
+ end
2053
+
2054
+ api_instance = ApiSdkRb::CompositionsApi.new
2055
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
2056
+ list = 'list_example' # String |
2057
+ item_id = 'item_id_example' # String |
2058
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
2059
+ request_body = { key: 3.56} # Hash<String, Object> |
2060
+ opts = {
2061
+ if_match: 'if_match_example', # String |
2062
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2063
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2064
+ }
2065
+
2066
+ begin
2067
+ # Update a content list item
2068
+ result = api_instance.patch_composition_content_item_0(id, list, item_id, idempotency_key, request_body, opts)
2069
+ p result
2070
+ rescue ApiSdkRb::ApiError => e
2071
+ puts "Error when calling CompositionsApi->patch_composition_content_item_0: #{e}"
2072
+ end
2073
+ ```
2074
+
2075
+ #### Using the patch_composition_content_item_0_with_http_info variant
2076
+
2077
+ This returns an Array which contains the response data, status code and headers.
2078
+
2079
+ > <Array(<CreateCompositionContentItem201Response>, Integer, Hash)> patch_composition_content_item_0_with_http_info(id, list, item_id, idempotency_key, request_body, opts)
2080
+
2081
+ ```ruby
2082
+ begin
2083
+ # Update a content list item
2084
+ data, status_code, headers = api_instance.patch_composition_content_item_0_with_http_info(id, list, item_id, idempotency_key, request_body, opts)
2085
+ p status_code # => 2xx
2086
+ p headers # => { ... }
2087
+ p data # => <CreateCompositionContentItem201Response>
2088
+ rescue ApiSdkRb::ApiError => e
2089
+ puts "Error when calling CompositionsApi->patch_composition_content_item_0_with_http_info: #{e}"
2090
+ end
2091
+ ```
2092
+
2093
+ ### Parameters
2094
+
2095
+ | Name | Type | Description | Notes |
2096
+ | ---- | ---- | ----------- | ----- |
2097
+ | **id** | **String** | | |
2098
+ | **list** | **String** | | |
2099
+ | **item_id** | **String** | | |
2100
+ | **idempotency_key** | **String** | 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;). | |
2101
+ | **request_body** | [**Hash&lt;String, Object&gt;**](Object.md) | | |
2102
+ | **if_match** | **String** | | [optional] |
2103
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2104
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2105
+
2106
+ ### Return type
2107
+
2108
+ [**CreateCompositionContentItem201Response**](CreateCompositionContentItem201Response.md)
2109
+
2110
+ ### Authorization
2111
+
2112
+ [apiKeyAuth](../README.md#apiKeyAuth)
2113
+
2114
+ ### HTTP request headers
2115
+
2116
+ - **Content-Type**: application/json
2117
+ - **Accept**: application/json
2118
+
2119
+
2120
+ ## read_composition_entries_0
2121
+
2122
+ > <CompositionEntriesReadingResponse> read_composition_entries_0(id, table, opts)
2123
+
2124
+ Read the Entries of a Composition's Table
2125
+
2126
+ 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.
2127
+
2128
+ ### Examples
2129
+
2130
+ ```ruby
2131
+ require 'time'
2132
+ require 'api-sdk-rb'
2133
+ # setup authorization
2134
+ ApiSdkRb.configure do |config|
2135
+ # Configure Bearer authorization (JWT): apiKeyAuth
2136
+ config.access_token = 'YOUR_BEARER_TOKEN'
2137
+ end
2138
+
2139
+ api_instance = ApiSdkRb::CompositionsApi.new
2140
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
2141
+ table = 'table_example' # String | The table to read, exactly as `describeCompositionEntries` lists it
2142
+ opts = {
2143
+ group_by: 'group_by_example', # String | A column of the table to count entries per value of
2144
+ rows: 56, # Integer | How many of the newest entries to return (0 returns counts and tallies only)
2145
+ aggregate: 'count,avg', # String | 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`.
2146
+ column: 'column_example', # String | 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`.
2147
+ since: Time.parse('2013-10-20T19:20:30+01:00'), # Time | 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`.
2148
+ _until: Time.parse('2013-10-20T19:20:30+01:00'), # Time | 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`).
2149
+ context: { key: { key: 'inner_example'}}, # Hash<String, String> | Host context filters as `context[key]=value` (max 5 keys, counting dotted `context.key` too). Use `column.<name>=value` for columns whose names collide with reserved parameters.
2150
+ filter: { key: { key: 'inner_example'}}, # Hash<String, String> | Column filters as `filter[columnName]=value` (same meaning as bare `columnName=value` or `column.columnName=value`; max 10 column filters counting all spellings). A plain `filter=value` still filters a column named `filter`.
2151
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2152
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2153
+ }
2154
+
2155
+ begin
2156
+ # Read the Entries of a Composition's Table
2157
+ result = api_instance.read_composition_entries_0(id, table, opts)
2158
+ p result
2159
+ rescue ApiSdkRb::ApiError => e
2160
+ puts "Error when calling CompositionsApi->read_composition_entries_0: #{e}"
2161
+ end
2162
+ ```
2163
+
2164
+ #### Using the read_composition_entries_0_with_http_info variant
2165
+
2166
+ This returns an Array which contains the response data, status code and headers.
2167
+
2168
+ > <Array(<CompositionEntriesReadingResponse>, Integer, Hash)> read_composition_entries_0_with_http_info(id, table, opts)
2169
+
2170
+ ```ruby
2171
+ begin
2172
+ # Read the Entries of a Composition's Table
2173
+ data, status_code, headers = api_instance.read_composition_entries_0_with_http_info(id, table, opts)
2174
+ p status_code # => 2xx
2175
+ p headers # => { ... }
2176
+ p data # => <CompositionEntriesReadingResponse>
2177
+ rescue ApiSdkRb::ApiError => e
2178
+ puts "Error when calling CompositionsApi->read_composition_entries_0_with_http_info: #{e}"
2179
+ end
2180
+ ```
2181
+
2182
+ ### Parameters
2183
+
2184
+ | Name | Type | Description | Notes |
2185
+ | ---- | ---- | ----------- | ----- |
2186
+ | **id** | **String** | ID of the composition | |
2187
+ | **table** | **String** | The table to read, exactly as &#x60;describeCompositionEntries&#x60; lists it | |
2188
+ | **group_by** | **String** | A column of the table to count entries per value of | [optional] |
2189
+ | **rows** | **Integer** | How many of the newest entries to return (0 returns counts and tallies only) | [optional][default to 0] |
2190
+ | **aggregate** | **String** | The functions to compute, comma-separated, from &#x60;count&#x60;, &#x60;avg&#x60;, &#x60;min&#x60;, &#x60;max&#x60; and &#x60;sum&#x60; (for example &#x60;count,avg&#x60;). Adds &#x60;aggregates&#x60; to the answer. Any other name answers 400 &#x60;ENTRY_AGGREGATE_INVALID&#x60;. | [optional] |
2191
+ | **column** | **String** | The numeric column &#x60;avg&#x60;, &#x60;min&#x60;, &#x60;max&#x60; and &#x60;sum&#x60; are computed over. Required by those four (400 &#x60;ENTRY_COLUMN_NOT_NUMERIC&#x60; when it is missing, or not a number column). Only with &#x60;aggregate&#x60;. | [optional] |
2192
+ | **since** | **Time** | Only entries made at this time or later: &#x60;since&#x60; is INCLUSIVE (an entry made at exactly &#x60;since&#x60; is returned). A date and time with an offset, such as &#x60;2026-10-01T00:00:00Z&#x60;; anything else answers 400 &#x60;INVALID_SINCE&#x60;. An entry with no time never matches, and a table with no time column answers 400 &#x60;ENTRY_TABLE_HAS_NO_TIME&#x60;. | [optional] |
2193
+ | **_until** | **Time** | Only entries made before this time: &#x60;until&#x60; is EXCLUSIVE (an entry made at exactly &#x60;until&#x60; is NOT returned), so &#x60;since&#x3D;A&amp;until&#x3D;B&#x60; followed by &#x60;since&#x3D;B&amp;until&#x3D;C&#x60; counts every entry once. Same form and same refusals as &#x60;since&#x60; (400 &#x60;INVALID_UNTIL&#x60;). | [optional] |
2194
+ | **context** | [**Hash&lt;String, String&gt;**](String.md) | 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. | [optional] |
2195
+ | **filter** | [**Hash&lt;String, String&gt;**](String.md) | 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;. | [optional] |
2196
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2197
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2198
+
2199
+ ### Return type
2200
+
2201
+ [**CompositionEntriesReadingResponse**](CompositionEntriesReadingResponse.md)
2202
+
2203
+ ### Authorization
2204
+
2205
+ [apiKeyAuth](../README.md#apiKeyAuth)
2206
+
2207
+ ### HTTP request headers
2208
+
2209
+ - **Content-Type**: Not defined
2210
+ - **Accept**: application/json
2211
+
2212
+
2213
+ ## remove_ai_answers_knowledge_document_0
2214
+
2215
+ > <RemoveAiAnswersKnowledgeDocument200Response> remove_ai_answers_knowledge_document_0(id, document_id, opts)
2216
+
2217
+ Remove a document from a widget's knowledge base
2218
+
2219
+ Removes one document and its passages: the widget's AI stops answering from it at once. Take the `documentId` from `getAiAnswersKnowledge`. The caller must be allowed to change the widget. An API key needs the `content:write` scope.
2220
+
2221
+ ### Examples
2222
+
2223
+ ```ruby
2224
+ require 'time'
2225
+ require 'api-sdk-rb'
2226
+ # setup authorization
2227
+ ApiSdkRb.configure do |config|
2228
+ # Configure Bearer authorization (JWT): apiKeyAuth
2229
+ config.access_token = 'YOUR_BEARER_TOKEN'
2230
+ end
2231
+
2232
+ api_instance = ApiSdkRb::CompositionsApi.new
2233
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The widget (composition) the document is in
2234
+ document_id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | The document to remove
2235
+ opts = {
2236
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2237
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2238
+ }
2239
+
2240
+ begin
2241
+ # Remove a document from a widget's knowledge base
2242
+ result = api_instance.remove_ai_answers_knowledge_document_0(id, document_id, opts)
2243
+ p result
2244
+ rescue ApiSdkRb::ApiError => e
2245
+ puts "Error when calling CompositionsApi->remove_ai_answers_knowledge_document_0: #{e}"
2246
+ end
2247
+ ```
2248
+
2249
+ #### Using the remove_ai_answers_knowledge_document_0_with_http_info variant
2250
+
2251
+ This returns an Array which contains the response data, status code and headers.
2252
+
2253
+ > <Array(<RemoveAiAnswersKnowledgeDocument200Response>, Integer, Hash)> remove_ai_answers_knowledge_document_0_with_http_info(id, document_id, opts)
2254
+
2255
+ ```ruby
2256
+ begin
2257
+ # Remove a document from a widget's knowledge base
2258
+ data, status_code, headers = api_instance.remove_ai_answers_knowledge_document_0_with_http_info(id, document_id, opts)
2259
+ p status_code # => 2xx
2260
+ p headers # => { ... }
2261
+ p data # => <RemoveAiAnswersKnowledgeDocument200Response>
2262
+ rescue ApiSdkRb::ApiError => e
2263
+ puts "Error when calling CompositionsApi->remove_ai_answers_knowledge_document_0_with_http_info: #{e}"
2264
+ end
2265
+ ```
2266
+
2267
+ ### Parameters
2268
+
2269
+ | Name | Type | Description | Notes |
2270
+ | ---- | ---- | ----------- | ----- |
2271
+ | **id** | **String** | The widget (composition) the document is in | |
2272
+ | **document_id** | **String** | The document to remove | |
2273
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2274
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2275
+
2276
+ ### Return type
2277
+
2278
+ [**RemoveAiAnswersKnowledgeDocument200Response**](RemoveAiAnswersKnowledgeDocument200Response.md)
2279
+
2280
+ ### Authorization
2281
+
2282
+ [apiKeyAuth](../README.md#apiKeyAuth)
2283
+
2284
+ ### HTTP request headers
2285
+
2286
+ - **Content-Type**: Not defined
2287
+ - **Accept**: application/json
2288
+
2289
+
2290
+ ## set_composition_data_source_0
2291
+
2292
+ > <CompositionDataSourceResponse> set_composition_data_source_0(id, idempotency_key, set_composition_data_source_request, opts)
2293
+
2294
+ Bind a public JSON data source for embed refresh
2295
+
2296
+ Stores an https URL the widget runtime may read on load and every `refreshSeconds`. 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 (`url`, `refreshSeconds`).
2297
+
2298
+ ### Examples
2299
+
2300
+ ```ruby
2301
+ require 'time'
2302
+ require 'api-sdk-rb'
2303
+ # setup authorization
2304
+ ApiSdkRb.configure do |config|
2305
+ # Configure Bearer authorization (JWT): apiKeyAuth
2306
+ config.access_token = 'YOUR_BEARER_TOKEN'
2307
+ end
2308
+
2309
+ api_instance = ApiSdkRb::CompositionsApi.new
2310
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String |
2311
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
2312
+ set_composition_data_source_request = ApiSdkRb::SetCompositionDataSourceRequest.new({url: 'url_example', refresh_seconds: 37}) # SetCompositionDataSourceRequest |
2313
+ opts = {
2314
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2315
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2316
+ }
2317
+
2318
+ begin
2319
+ # Bind a public JSON data source for embed refresh
2320
+ result = api_instance.set_composition_data_source_0(id, idempotency_key, set_composition_data_source_request, opts)
2321
+ p result
2322
+ rescue ApiSdkRb::ApiError => e
2323
+ puts "Error when calling CompositionsApi->set_composition_data_source_0: #{e}"
2324
+ end
2325
+ ```
2326
+
2327
+ #### Using the set_composition_data_source_0_with_http_info variant
2328
+
2329
+ This returns an Array which contains the response data, status code and headers.
2330
+
2331
+ > <Array(<CompositionDataSourceResponse>, Integer, Hash)> set_composition_data_source_0_with_http_info(id, idempotency_key, set_composition_data_source_request, opts)
2332
+
2333
+ ```ruby
2334
+ begin
2335
+ # Bind a public JSON data source for embed refresh
2336
+ data, status_code, headers = api_instance.set_composition_data_source_0_with_http_info(id, idempotency_key, set_composition_data_source_request, opts)
2337
+ p status_code # => 2xx
2338
+ p headers # => { ... }
2339
+ p data # => <CompositionDataSourceResponse>
2340
+ rescue ApiSdkRb::ApiError => e
2341
+ puts "Error when calling CompositionsApi->set_composition_data_source_0_with_http_info: #{e}"
2342
+ end
2343
+ ```
2344
+
2345
+ ### Parameters
2346
+
2347
+ | Name | Type | Description | Notes |
2348
+ | ---- | ---- | ----------- | ----- |
2349
+ | **id** | **String** | | |
2350
+ | **idempotency_key** | **String** | 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;). | |
2351
+ | **set_composition_data_source_request** | [**SetCompositionDataSourceRequest**](SetCompositionDataSourceRequest.md) | | |
2352
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2353
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2354
+
2355
+ ### Return type
2356
+
2357
+ [**CompositionDataSourceResponse**](CompositionDataSourceResponse.md)
2358
+
2359
+ ### Authorization
2360
+
2361
+ [apiKeyAuth](../README.md#apiKeyAuth)
2362
+
2363
+ ### HTTP request headers
2364
+
2365
+ - **Content-Type**: application/json
2366
+ - **Accept**: application/json
2367
+
2368
+
2369
+ ## set_dynamic_content_0
2370
+
2371
+ > <SetDynamicContentResponse> set_dynamic_content_0(id, idempotency_key, set_dynamic_content_request, opts)
2372
+
2373
+ Set Dynamic Content
2374
+
2375
+ Updates the content of a composition dynamically with optional schema validation. An editor session (see `createManagedUserEditorSession`) can send only `content`, `validate` and `partial`, and only for a composition made for its managed user. A body that names `version`, `source` or any other field is refused with `403` and `EDITOR_SESSION_FIELD_NOT_ALLOWED`.
2376
+
2377
+ ### Examples
2378
+
2379
+ ```ruby
2380
+ require 'time'
2381
+ require 'api-sdk-rb'
2382
+ # setup authorization
2383
+ ApiSdkRb.configure do |config|
2384
+ # Configure Bearer authorization (JWT): apiKeyAuth
2385
+ config.access_token = 'YOUR_BEARER_TOKEN'
2386
+ end
2387
+
2388
+ api_instance = ApiSdkRb::CompositionsApi.new
2389
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
2390
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
2391
+ set_dynamic_content_request = ApiSdkRb::SetDynamicContentRequest.new({content: 3.56}) # SetDynamicContentRequest |
2392
+ opts = {
2393
+ if_match: 'if_match_example', # String | Optional content version from ETag (`\"3\"`, `3`, or `*`)
2394
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2395
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2396
+ }
2397
+
2398
+ begin
2399
+ # Set Dynamic Content
2400
+ result = api_instance.set_dynamic_content_0(id, idempotency_key, set_dynamic_content_request, opts)
2401
+ p result
2402
+ rescue ApiSdkRb::ApiError => e
2403
+ puts "Error when calling CompositionsApi->set_dynamic_content_0: #{e}"
2404
+ end
2405
+ ```
2406
+
2407
+ #### Using the set_dynamic_content_0_with_http_info variant
2408
+
2409
+ This returns an Array which contains the response data, status code and headers.
2410
+
2411
+ > <Array(<SetDynamicContentResponse>, Integer, Hash)> set_dynamic_content_0_with_http_info(id, idempotency_key, set_dynamic_content_request, opts)
2412
+
2413
+ ```ruby
2414
+ begin
2415
+ # Set Dynamic Content
2416
+ data, status_code, headers = api_instance.set_dynamic_content_0_with_http_info(id, idempotency_key, set_dynamic_content_request, opts)
2417
+ p status_code # => 2xx
2418
+ p headers # => { ... }
2419
+ p data # => <SetDynamicContentResponse>
2420
+ rescue ApiSdkRb::ApiError => e
2421
+ puts "Error when calling CompositionsApi->set_dynamic_content_0_with_http_info: #{e}"
2422
+ end
2423
+ ```
2424
+
2425
+ ### Parameters
2426
+
2427
+ | Name | Type | Description | Notes |
2428
+ | ---- | ---- | ----------- | ----- |
2429
+ | **id** | **String** | ID of the composition | |
2430
+ | **idempotency_key** | **String** | 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;). | |
2431
+ | **set_dynamic_content_request** | [**SetDynamicContentRequest**](SetDynamicContentRequest.md) | | |
2432
+ | **if_match** | **String** | Optional content version from ETag (&#x60;\&quot;3\&quot;&#x60;, &#x60;3&#x60;, or &#x60;*&#x60;) | [optional] |
2433
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2434
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2435
+
2436
+ ### Return type
2437
+
2438
+ [**SetDynamicContentResponse**](SetDynamicContentResponse.md)
2439
+
2440
+ ### Authorization
2441
+
2442
+ [apiKeyAuth](../README.md#apiKeyAuth)
2443
+
2444
+ ### HTTP request headers
2445
+
2446
+ - **Content-Type**: application/json
2447
+ - **Accept**: application/json
2448
+
2449
+
2450
+ ## update_composition_0
2451
+
2452
+ > <CreateCompositionFromWidget201Response> update_composition_0(id, idempotency_key, update_composition, opts)
2453
+
2454
+ Update Composition
2455
+
2456
+ Updates a specific composition. The `Idempotency-Key` header is required (`400` without it). Send the same key when you retry. An editor session (see `createManagedUserEditorSession`) can send only `name`, `content`, `design` and `embedSettings`, and only for a composition made for its managed user. A body that names any other field is refused with `403` and `EDITOR_SESSION_FIELD_NOT_ALLOWED`. Send `databaseSchema` to add tables to the composition: the tables that are missing are made, and the ones that exist are left as they are. A `databaseSchema` that cannot be used is refused before anything is saved, with `400` and `INVALID_DATABASE_SCHEMA`. If the composition is saved but its tables cannot be made just now, the answer is still `200` and `meta.warnings` says so.
2457
+
2458
+ ### Examples
2459
+
2460
+ ```ruby
2461
+ require 'time'
2462
+ require 'api-sdk-rb'
2463
+ # setup authorization
2464
+ ApiSdkRb.configure do |config|
2465
+ # Configure Bearer authorization (JWT): apiKeyAuth
2466
+ config.access_token = 'YOUR_BEARER_TOKEN'
2467
+ end
2468
+
2469
+ api_instance = ApiSdkRb::CompositionsApi.new
2470
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | Composition ID
2471
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
2472
+ update_composition = ApiSdkRb::UpdateComposition.new # UpdateComposition |
2473
+ opts = {
2474
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2475
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2476
+ }
2477
+
2478
+ begin
2479
+ # Update Composition
2480
+ result = api_instance.update_composition_0(id, idempotency_key, update_composition, opts)
2481
+ p result
2482
+ rescue ApiSdkRb::ApiError => e
2483
+ puts "Error when calling CompositionsApi->update_composition_0: #{e}"
2484
+ end
2485
+ ```
2486
+
2487
+ #### Using the update_composition_0_with_http_info variant
2488
+
2489
+ This returns an Array which contains the response data, status code and headers.
2490
+
2491
+ > <Array(<CreateCompositionFromWidget201Response>, Integer, Hash)> update_composition_0_with_http_info(id, idempotency_key, update_composition, opts)
2492
+
2493
+ ```ruby
2494
+ begin
2495
+ # Update Composition
2496
+ data, status_code, headers = api_instance.update_composition_0_with_http_info(id, idempotency_key, update_composition, opts)
2497
+ p status_code # => 2xx
2498
+ p headers # => { ... }
2499
+ p data # => <CreateCompositionFromWidget201Response>
2500
+ rescue ApiSdkRb::ApiError => e
2501
+ puts "Error when calling CompositionsApi->update_composition_0_with_http_info: #{e}"
2502
+ end
2503
+ ```
2504
+
2505
+ ### Parameters
2506
+
2507
+ | Name | Type | Description | Notes |
2508
+ | ---- | ---- | ----------- | ----- |
2509
+ | **id** | **String** | Composition ID | |
2510
+ | **idempotency_key** | **String** | 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;). | |
2511
+ | **update_composition** | [**UpdateComposition**](UpdateComposition.md) | | |
2512
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2513
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2514
+
2515
+ ### Return type
2516
+
2517
+ [**CreateCompositionFromWidget201Response**](CreateCompositionFromWidget201Response.md)
2518
+
2519
+ ### Authorization
2520
+
2521
+ [apiKeyAuth](../README.md#apiKeyAuth)
2522
+
2523
+ ### HTTP request headers
2524
+
2525
+ - **Content-Type**: application/json
2526
+ - **Accept**: application/json
2527
+
2528
+
2529
+ ## update_composition_database_record_0
2530
+
2531
+ > <CreateCompositionDatabaseRecord201Response> update_composition_database_record_0(id, table, record_id, idempotency_key, body, opts)
2532
+
2533
+ Update Record In Composition Database
2534
+
2535
+ Updates a specific 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`.
2536
+
2537
+ ### Examples
2538
+
2539
+ ```ruby
2540
+ require 'time'
2541
+ require 'api-sdk-rb'
2542
+ # setup authorization
2543
+ ApiSdkRb.configure do |config|
2544
+ # Configure Bearer authorization (JWT): apiKeyAuth
2545
+ config.access_token = 'YOUR_BEARER_TOKEN'
2546
+ end
2547
+
2548
+ api_instance = ApiSdkRb::CompositionsApi.new
2549
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
2550
+ table = 'table_example' # String | Name of the database table
2551
+ record_id = 'record_id_example' # String | ID of the record to update
2552
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
2553
+ body = { ... } # Object |
2554
+ opts = {
2555
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2556
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2557
+ }
2558
+
2559
+ begin
2560
+ # Update Record In Composition Database
2561
+ result = api_instance.update_composition_database_record_0(id, table, record_id, idempotency_key, body, opts)
2562
+ p result
2563
+ rescue ApiSdkRb::ApiError => e
2564
+ puts "Error when calling CompositionsApi->update_composition_database_record_0: #{e}"
2565
+ end
2566
+ ```
2567
+
2568
+ #### Using the update_composition_database_record_0_with_http_info variant
2569
+
2570
+ This returns an Array which contains the response data, status code and headers.
2571
+
2572
+ > <Array(<CreateCompositionDatabaseRecord201Response>, Integer, Hash)> update_composition_database_record_0_with_http_info(id, table, record_id, idempotency_key, body, opts)
2573
+
2574
+ ```ruby
2575
+ begin
2576
+ # Update Record In Composition Database
2577
+ data, status_code, headers = api_instance.update_composition_database_record_0_with_http_info(id, table, record_id, idempotency_key, body, opts)
2578
+ p status_code # => 2xx
2579
+ p headers # => { ... }
2580
+ p data # => <CreateCompositionDatabaseRecord201Response>
2581
+ rescue ApiSdkRb::ApiError => e
2582
+ puts "Error when calling CompositionsApi->update_composition_database_record_0_with_http_info: #{e}"
2583
+ end
2584
+ ```
2585
+
2586
+ ### Parameters
2587
+
2588
+ | Name | Type | Description | Notes |
2589
+ | ---- | ---- | ----------- | ----- |
2590
+ | **id** | **String** | ID of the composition | |
2591
+ | **table** | **String** | Name of the database table | |
2592
+ | **record_id** | **String** | ID of the record to update | |
2593
+ | **idempotency_key** | **String** | 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;). | |
2594
+ | **body** | **Object** | | |
2595
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2596
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2597
+
2598
+ ### Return type
2599
+
2600
+ [**CreateCompositionDatabaseRecord201Response**](CreateCompositionDatabaseRecord201Response.md)
2601
+
2602
+ ### Authorization
2603
+
2604
+ [apiKeyAuth](../README.md#apiKeyAuth)
2605
+
2606
+ ### HTTP request headers
2607
+
2608
+ - **Content-Type**: application/json
2609
+ - **Accept**: application/json
2610
+
2611
+
2612
+ ## update_composition_status_0
2613
+
2614
+ > <CompositionResponse> update_composition_status_0(id, idempotency_key, update_composition_status_request, opts)
2615
+
2616
+ Update Composition Status
2617
+
2618
+ Updates the status of a specific composition. The `Idempotency-Key` header is required (`400` without it). Send the same key when you retry.
2619
+
2620
+ ### Examples
2621
+
2622
+ ```ruby
2623
+ require 'time'
2624
+ require 'api-sdk-rb'
2625
+ # setup authorization
2626
+ ApiSdkRb.configure do |config|
2627
+ # Configure Bearer authorization (JWT): apiKeyAuth
2628
+ config.access_token = 'YOUR_BEARER_TOKEN'
2629
+ end
2630
+
2631
+ api_instance = ApiSdkRb::CompositionsApi.new
2632
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | Composition ID
2633
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
2634
+ update_composition_status_request = ApiSdkRb::UpdateCompositionStatusRequest.new({status: 'draft'}) # UpdateCompositionStatusRequest |
2635
+ opts = {
2636
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2637
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2638
+ }
2639
+
2640
+ begin
2641
+ # Update Composition Status
2642
+ result = api_instance.update_composition_status_0(id, idempotency_key, update_composition_status_request, opts)
2643
+ p result
2644
+ rescue ApiSdkRb::ApiError => e
2645
+ puts "Error when calling CompositionsApi->update_composition_status_0: #{e}"
2646
+ end
2647
+ ```
2648
+
2649
+ #### Using the update_composition_status_0_with_http_info variant
2650
+
2651
+ This returns an Array which contains the response data, status code and headers.
2652
+
2653
+ > <Array(<CompositionResponse>, Integer, Hash)> update_composition_status_0_with_http_info(id, idempotency_key, update_composition_status_request, opts)
2654
+
2655
+ ```ruby
2656
+ begin
2657
+ # Update Composition Status
2658
+ data, status_code, headers = api_instance.update_composition_status_0_with_http_info(id, idempotency_key, update_composition_status_request, opts)
2659
+ p status_code # => 2xx
2660
+ p headers # => { ... }
2661
+ p data # => <CompositionResponse>
2662
+ rescue ApiSdkRb::ApiError => e
2663
+ puts "Error when calling CompositionsApi->update_composition_status_0_with_http_info: #{e}"
2664
+ end
2665
+ ```
2666
+
2667
+ ### Parameters
2668
+
2669
+ | Name | Type | Description | Notes |
2670
+ | ---- | ---- | ----------- | ----- |
2671
+ | **id** | **String** | Composition ID | |
2672
+ | **idempotency_key** | **String** | 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;). | |
2673
+ | **update_composition_status_request** | [**UpdateCompositionStatusRequest**](UpdateCompositionStatusRequest.md) | | |
2674
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2675
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2676
+
2677
+ ### Return type
2678
+
2679
+ [**CompositionResponse**](CompositionResponse.md)
2680
+
2681
+ ### Authorization
2682
+
2683
+ [apiKeyAuth](../README.md#apiKeyAuth)
2684
+
2685
+ ### HTTP request headers
2686
+
2687
+ - **Content-Type**: application/json
2688
+ - **Accept**: application/json
2689
+
2690
+
2691
+ ## validate_composition_content_0
2692
+
2693
+ > <ValidateCompositionContentResponse> validate_composition_content_0(id, idempotency_key, request_body, opts)
2694
+
2695
+ Validate Content
2696
+
2697
+ Checks content against the composition's widget schema without saving it. Send what a content update (`PUT /compositions/{id}/content`) would store, `{ \"design\": {...}, \"content\": {...} }`, or the widget'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'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 `valid` 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 `valid` stays true. The design is not checked here. Nothing is saved and nothing in the body is changed.
2698
+
2699
+ ### Examples
2700
+
2701
+ ```ruby
2702
+ require 'time'
2703
+ require 'api-sdk-rb'
2704
+ # setup authorization
2705
+ ApiSdkRb.configure do |config|
2706
+ # Configure Bearer authorization (JWT): apiKeyAuth
2707
+ config.access_token = 'YOUR_BEARER_TOKEN'
2708
+ end
2709
+
2710
+ api_instance = ApiSdkRb::CompositionsApi.new
2711
+ id = '38400000-8cf0-11bd-b23e-10b96e4ef00d' # String | ID of the composition
2712
+ idempotency_key = '9b2d6f0a-3c41-4e5a-8d77-1f2e3a4b5c6d' # String | 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`).
2713
+ request_body = { key: 3.56} # Hash<String, Object> |
2714
+ opts = {
2715
+ x_managed_user_id: '3f2b8c1e-7a4d-4e0b-9c55-2d1a6b7e8f90', # String | 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.
2716
+ x_managed_user_external_id: 'customer-1042' # String | 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.
2717
+ }
2718
+
2719
+ begin
2720
+ # Validate Content
2721
+ result = api_instance.validate_composition_content_0(id, idempotency_key, request_body, opts)
2722
+ p result
2723
+ rescue ApiSdkRb::ApiError => e
2724
+ puts "Error when calling CompositionsApi->validate_composition_content_0: #{e}"
2725
+ end
2726
+ ```
2727
+
2728
+ #### Using the validate_composition_content_0_with_http_info variant
2729
+
2730
+ This returns an Array which contains the response data, status code and headers.
2731
+
2732
+ > <Array(<ValidateCompositionContentResponse>, Integer, Hash)> validate_composition_content_0_with_http_info(id, idempotency_key, request_body, opts)
2733
+
2734
+ ```ruby
2735
+ begin
2736
+ # Validate Content
2737
+ data, status_code, headers = api_instance.validate_composition_content_0_with_http_info(id, idempotency_key, request_body, opts)
2738
+ p status_code # => 2xx
2739
+ p headers # => { ... }
2740
+ p data # => <ValidateCompositionContentResponse>
2741
+ rescue ApiSdkRb::ApiError => e
2742
+ puts "Error when calling CompositionsApi->validate_composition_content_0_with_http_info: #{e}"
2743
+ end
2744
+ ```
2745
+
2746
+ ### Parameters
2747
+
2748
+ | Name | Type | Description | Notes |
2749
+ | ---- | ---- | ----------- | ----- |
2750
+ | **id** | **String** | ID of the composition | |
2751
+ | **idempotency_key** | **String** | 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;). | |
2752
+ | **request_body** | [**Hash&lt;String, Object&gt;**](Object.md) | | |
2753
+ | **x_managed_user_id** | **String** | 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. | [optional] |
2754
+ | **x_managed_user_external_id** | **String** | 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. | [optional] |
2755
+
2756
+ ### Return type
2757
+
2758
+ [**ValidateCompositionContentResponse**](ValidateCompositionContentResponse.md)
2759
+
2760
+ ### Authorization
2761
+
2762
+ [apiKeyAuth](../README.md#apiKeyAuth)
2763
+
2764
+ ### HTTP request headers
2765
+
2766
+ - **Content-Type**: application/json
2767
+ - **Accept**: application/json
2768
+