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.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/LICENSE +122 -0
- data/README.md +648 -0
- data/Rakefile +10 -0
- data/api-sdk-rb.gemspec +39 -0
- data/docs/AccountCreditBalance.md +26 -0
- data/docs/AccountCreditBalanceResponse.md +22 -0
- data/docs/AccountCreditTransaction.md +30 -0
- data/docs/AdapterConnection.md +30 -0
- data/docs/AdapterConnectionRemoval.md +18 -0
- data/docs/AddAiAnswersKnowledgeDocument201Response.md +22 -0
- data/docs/AddAiAnswersKnowledgeDocumentRequest.md +20 -0
- data/docs/AddDomainRequest.md +18 -0
- data/docs/AiAnswersKnowledge.md +20 -0
- data/docs/AiAnswersKnowledgeDocument.md +30 -0
- data/docs/AiAnswersKnowledgeRemoval.md +18 -0
- data/docs/AiAnswersKnowledgeTotals.md +24 -0
- data/docs/ApiKeyScope.md +15 -0
- data/docs/Canvas.md +32 -0
- data/docs/CanvasResponse.md +22 -0
- data/docs/CanvasesApi.md +377 -0
- data/docs/CheckCompositionAccessResponse.md +22 -0
- data/docs/CheckCompositionAccessResponseData.md +20 -0
- data/docs/Composition.md +46 -0
- data/docs/CompositionDataSource.md +20 -0
- data/docs/CompositionDataSourceResponse.md +22 -0
- data/docs/CompositionEntriesDescription.md +22 -0
- data/docs/CompositionEntriesDescriptionResponse.md +22 -0
- data/docs/CompositionEntriesReading.md +34 -0
- data/docs/CompositionEntriesReadingResponse.md +22 -0
- data/docs/CompositionEntryAggregateTally.md +28 -0
- data/docs/CompositionEntryAggregatesBlock.md +22 -0
- data/docs/CompositionEntryColumn.md +20 -0
- data/docs/CompositionEntryDeleteSuccess.md +20 -0
- data/docs/CompositionEntryDeleteSuccessData.md +18 -0
- data/docs/CompositionEntryItem.md +26 -0
- data/docs/CompositionEntryItemsMeta.md +22 -0
- data/docs/CompositionEntryItemsPageSuccess.md +22 -0
- data/docs/CompositionEntryTable.md +22 -0
- data/docs/CompositionEntryTally.md +20 -0
- data/docs/CompositionResponse.md +22 -0
- data/docs/CompositionVersion.md +26 -0
- data/docs/CompositionsApi.md +2768 -0
- data/docs/ContentCheckFinding.md +24 -0
- data/docs/ContentItemWriteResult.md +28 -0
- data/docs/ContentItemWriteResultValidationResult.md +22 -0
- data/docs/CopyPartnerPresetRequest.md +18 -0
- data/docs/CreateCanvasRequest.md +28 -0
- data/docs/CreateCompositionContentItem201Response.md +22 -0
- data/docs/CreateCompositionContentItemRequest.md +18 -0
- data/docs/CreateCompositionDatabaseRecord201Response.md +22 -0
- data/docs/CreateCompositionFromPresetRequest.md +26 -0
- data/docs/CreateCompositionFromWidget201Response.md +22 -0
- data/docs/CreateCompositionFromWidgetRequest.md +28 -0
- data/docs/CreateUserApiKeyRequest.md +24 -0
- data/docs/CreateWidget201Response.md +22 -0
- data/docs/CreateWidget201ResponseData.md +62 -0
- data/docs/CreatedUserApiKey.md +34 -0
- data/docs/CreatedUserApiKeyResponse.md +22 -0
- data/docs/CreditsApi.md +155 -0
- data/docs/DeleteCompositionContentItemResponse.md +22 -0
- data/docs/DeleteCompositionContentItemResponseData.md +20 -0
- data/docs/DeleteCompositionDataSourceResponse.md +22 -0
- data/docs/DeleteCompositionDataSourceResponseData.md +18 -0
- data/docs/DeleteManagedUser200Response.md +22 -0
- data/docs/DeletePersonalWorkspaceDomainResponse.md +22 -0
- data/docs/DeletePersonalWorkspaceDomainResponseData.md +18 -0
- data/docs/DeleteUserApiKeyResponse.md +22 -0
- data/docs/DeleteUserApiKeyResponseData.md +18 -0
- data/docs/DesignDefaults.md +18 -0
- data/docs/DuplicateComposition202Response.md +22 -0
- data/docs/DuplicateComposition202ResponseData.md +18 -0
- data/docs/DuplicateCompositionRequest.md +20 -0
- data/docs/EditorSession.md +34 -0
- data/docs/EditorSessionResponse.md +22 -0
- data/docs/Entitlement.md +38 -0
- data/docs/EntitlementsApi.md +163 -0
- data/docs/ErrorDetail.md +34 -0
- data/docs/ErrorResponse.md +22 -0
- data/docs/ExportCompositionEntryItems200Response.md +22 -0
- data/docs/ExportCompositionEntryItems200ResponseMeta.md +20 -0
- data/docs/GetAiAnswersKnowledge200Response.md +22 -0
- data/docs/GetAllCanvasesResponse.md +22 -0
- data/docs/GetAllCanvasesResponseData.md +24 -0
- data/docs/GetAllCompositions200Response.md +22 -0
- data/docs/GetAllManagedUsers200Response.md +22 -0
- data/docs/GetCompositionContentResponse.md +22 -0
- data/docs/GetCompositionContentSchemaResponse.md +22 -0
- data/docs/GetCompositionContentSchemaResponseData.md +28 -0
- data/docs/GetCompositionDataSourceResponse.md +22 -0
- data/docs/GetCompositionDatabaseRecords200Response.md +22 -0
- data/docs/GetCompositionDesignResponse.md +22 -0
- data/docs/GetCompositionDesignSchemaResponse.md +22 -0
- data/docs/GetCompositionDesignSchemaResponseData.md +28 -0
- data/docs/GetCompositionEmbedSchemaResponse.md +22 -0
- data/docs/GetCompositionEmbedSchemaResponseData.md +28 -0
- data/docs/GetCompositionEmbedSettingsResponse.md +22 -0
- data/docs/GetCompositionPreviewResponse.md +22 -0
- data/docs/GetCompositionPreviewResponseData.md +24 -0
- data/docs/GetCompositionVersions200Response.md +22 -0
- data/docs/GetCompositionsBatchRequest.md +18 -0
- data/docs/GetCompositionsBatchResponse.md +22 -0
- data/docs/GetCompositionsBatchResponseData.md +20 -0
- data/docs/GetInvoicesByPartnerId200Response.md +22 -0
- data/docs/GetManagedUserEntitlementsResponse.md +22 -0
- data/docs/GetManagedUserEntitlementsResponseData.md +20 -0
- data/docs/GetManagedUserLimits200Response.md +22 -0
- data/docs/GetManagedUserStorageUsage200Response.md +22 -0
- data/docs/GetManagedUserStorageUsage200ResponseData.md +22 -0
- data/docs/GetManagedUserStorageUsage200ResponseDataByPurpose.md +24 -0
- data/docs/GetManagedUsersByManagerIdResponse.md +22 -0
- data/docs/GetManagedUsersByManagerIdResponseData.md +24 -0
- data/docs/GetPartnerBillingOverview200Response.md +22 -0
- data/docs/GetPartnerCreditTransactions200Response.md +22 -0
- data/docs/GetPartnerDesignDefaults200Response.md +22 -0
- data/docs/GetPartnerEntitlementsResponse.md +22 -0
- data/docs/GetPartnerEntitlementsResponseData.md +20 -0
- data/docs/GetPersonalWorkspaceDomains200Response.md +22 -0
- data/docs/GetPublicCompositionEmbed200Response.md +46 -0
- data/docs/GetPublicCompositionEmbed200ResponseDataSource.md +20 -0
- data/docs/GetPublicCompositionEmbed200ResponseDirect.md +22 -0
- data/docs/GetUserAdapterConnections200Response.md +22 -0
- data/docs/GetUserApiKeyUsageLogsResponse.md +22 -0
- data/docs/GetUserApiKeyUsageLogsResponseData.md +18 -0
- data/docs/GetUserApiKeys200Response.md +22 -0
- data/docs/GetWidgets200Response.md +22 -0
- data/docs/GetWidgetsBatchRequest.md +18 -0
- data/docs/GetWidgetsBatchResponse.md +22 -0
- data/docs/GetWidgetsBatchResponseData.md +20 -0
- data/docs/GetWidgetsBatchResponseDataErrorsInner.md +20 -0
- data/docs/InvoicesApi.md +85 -0
- data/docs/ListPartnerPresets200Response.md +22 -0
- data/docs/ManagedUser.md +30 -0
- data/docs/ManagedUserEntriesMeta.md +26 -0
- data/docs/ManagedUserEntriesPageSuccess.md +22 -0
- data/docs/ManagedUserEntryItem.md +30 -0
- data/docs/ManagedUserLimits.md +24 -0
- data/docs/ManagedUserOperationUsage.md +26 -0
- data/docs/ManagedUserRemoval.md +20 -0
- data/docs/ManagedUserResponse.md +22 -0
- data/docs/ManagedUserUsage.md +28 -0
- data/docs/ManagedUserUsageResponse.md +22 -0
- data/docs/ManagedUserUsageTotals.md +24 -0
- data/docs/ManagedUsersApi.md +1239 -0
- data/docs/MyPartner.md +34 -0
- data/docs/MyPartners.md +22 -0
- data/docs/MyPartnersResponse.md +22 -0
- data/docs/NewComposition.md +38 -0
- data/docs/NewEditorSession.md +24 -0
- data/docs/NewManagedUser.md +22 -0
- data/docs/NewWidget.md +38 -0
- data/docs/OperationsApi.md +77 -0
- data/docs/OperationsIdGetResponse.md +22 -0
- data/docs/OperationsIdGetResponseData.md +32 -0
- data/docs/PartnerAnalyticsByManagedUser.md +24 -0
- data/docs/PartnerAnalyticsByManagedUserResponse.md +22 -0
- data/docs/PartnerAnalyticsOfDay.md +24 -0
- data/docs/PartnerAnalyticsOfManagedUser.md +36 -0
- data/docs/PartnerAnalyticsOfWidget.md +28 -0
- data/docs/PartnerAnalyticsSummary.md +32 -0
- data/docs/PartnerAnalyticsSummaryResponse.md +22 -0
- data/docs/PartnerAnalyticsTimeline.md +24 -0
- data/docs/PartnerAnalyticsTimelineResponse.md +22 -0
- data/docs/PartnerAnalyticsTopWidgets.md +24 -0
- data/docs/PartnerAnalyticsTopWidgetsResponse.md +22 -0
- data/docs/PartnerApi.md +9892 -0
- data/docs/PartnerBillingOverview.md +24 -0
- data/docs/PartnerBillingOverviewBillingIntegration.md +24 -0
- data/docs/PartnerBillingOverviewOperationalCredits.md +24 -0
- data/docs/PartnerBillingOverviewPartner.md +24 -0
- data/docs/PartnerContract.md +48 -0
- data/docs/PartnerContractResponse.md +22 -0
- data/docs/PartnerCustomization.md +50 -0
- data/docs/PartnerDataDatabase.md +32 -0
- data/docs/PartnerDataDatabaseRemoval.md +18 -0
- data/docs/PartnerDataDatabaseRemovalResponse.md +22 -0
- data/docs/PartnerDataDatabaseResponse.md +22 -0
- data/docs/PartnerEntryContextSecret.md +20 -0
- data/docs/PartnerEntryContextSecretResponse.md +22 -0
- data/docs/PartnerEntryContextSigning.md +28 -0
- data/docs/PartnerEntryContextSigningResponse.md +22 -0
- data/docs/PartnerExtraCreditsInvoice.md +40 -0
- data/docs/PartnerExtraCreditsInvoiceResponse.md +22 -0
- data/docs/PartnerInvoice.md +64 -0
- data/docs/PartnerNotification.md +30 -0
- data/docs/PartnerNotificationDefaultRecipients.md +20 -0
- data/docs/PartnerNotificationDelivery.md +46 -0
- data/docs/PartnerNotificationDeliveryLog.md +18 -0
- data/docs/PartnerNotificationDeliveryLogResponse.md +22 -0
- data/docs/PartnerNotificationDeliveryResponse.md +22 -0
- data/docs/PartnerNotificationEvent.md +28 -0
- data/docs/PartnerNotificationEventType.md +15 -0
- data/docs/PartnerNotificationPage.md +20 -0
- data/docs/PartnerNotificationPageResponse.md +22 -0
- data/docs/PartnerNotificationSettings.md +36 -0
- data/docs/PartnerNotificationSettingsChange.md +20 -0
- data/docs/PartnerNotificationSettingsChangeResponse.md +22 -0
- data/docs/PartnerNotificationSettingsResponse.md +22 -0
- data/docs/PartnerNotificationTestEventRequest.md +18 -0
- data/docs/PartnerNotificationTestEventResult.md +24 -0
- data/docs/PartnerNotificationTestEventResultResponse.md +22 -0
- data/docs/PartnerPreset.md +34 -0
- data/docs/PartnerPresetCopy.md +28 -0
- data/docs/PartnerPresetCopyResponse.md +22 -0
- data/docs/PartnerPresetRemoval.md +18 -0
- data/docs/PartnerPresetRemovalResponse.md +22 -0
- data/docs/PartnerPresetResponse.md +22 -0
- data/docs/PartnerReportPage.md +22 -0
- data/docs/PartnerReportPeriod.md +20 -0
- data/docs/PartnerStorageDestination.md +40 -0
- data/docs/PartnerStorageDestinationResponse.md +22 -0
- data/docs/PartnerStorageRemoval.md +18 -0
- data/docs/PartnerStorageRemovalResponse.md +22 -0
- data/docs/PartnerStorageUsage.md +24 -0
- data/docs/PartnerStorageUsageOfManagedUser.md +34 -0
- data/docs/PartnerStorageUsageResponse.md +22 -0
- data/docs/PartnerStorageUsageTotals.md +24 -0
- data/docs/PartnersApi.md +2708 -0
- data/docs/PersonalWorkspaceDomain.md +26 -0
- data/docs/PersonalWorkspaceDomainResult.md +20 -0
- data/docs/PersonalWorkspaceDomainResultResponse.md +22 -0
- data/docs/PostPublicCompositionEmbedStatus200Response.md +22 -0
- data/docs/PostPublicCompositionEmbedStatus200ResponseData.md +18 -0
- data/docs/PostPublicCompositionEmbedStatusRequest.md +18 -0
- data/docs/PublicAdapterCallError.md +24 -0
- data/docs/PublicAdapterCallRequest.md +26 -0
- data/docs/PublicAdapterCallResult.md +20 -0
- data/docs/PublicAdapterCallResultData.md +18 -0
- data/docs/PublicAdapterFileResult.md +20 -0
- data/docs/PublicAdapterFileResultData.md +18 -0
- data/docs/PublicAdapterFileResultDataFile.md +28 -0
- data/docs/PublicCompositionEntryCreated.md +20 -0
- data/docs/PublicCompositionEntryCreatedData.md +22 -0
- data/docs/PublicCompositionEntryRequest.md +22 -0
- data/docs/PublicEmbedApi.md +415 -0
- data/docs/PublicEmbedFailure.md +28 -0
- data/docs/PublicEmbedFailureDetails.md +20 -0
- data/docs/PublicEmbedFailureError.md +28 -0
- data/docs/PurposeStorageBucket.md +20 -0
- data/docs/RemoveAiAnswersKnowledgeDocument200Response.md +22 -0
- data/docs/RemoveUserAdapterConnection200Response.md +22 -0
- data/docs/RequestExtraCredits.md +18 -0
- data/docs/ResponseMeta.md +34 -0
- data/docs/RevokeManagedUserEditorSessionsResponse.md +22 -0
- data/docs/RevokeManagedUserEditorSessionsResponseData.md +18 -0
- data/docs/SetAdapterConnectionRequest.md +18 -0
- data/docs/SetCompositionDataSourceRequest.md +20 -0
- data/docs/SetDynamicContentRequest.md +26 -0
- data/docs/SetDynamicContentResponse.md +22 -0
- data/docs/SetDynamicContentResponseData.md +26 -0
- data/docs/SetDynamicContentResponseDataValidationResult.md +22 -0
- data/docs/SetManagedUserLimitsRequest.md +18 -0
- data/docs/SetPartnerDataDatabaseRequest.md +18 -0
- data/docs/SetPartnerDesignDefaultsRequest.md +18 -0
- data/docs/SetPartnerPresetRequest.md +24 -0
- data/docs/SetPartnerStorageDestinationRequest.md +32 -0
- data/docs/SetUserAdapterConnection200Response.md +22 -0
- data/docs/SuccessResponse.md +22 -0
- data/docs/TokensApi.md +77 -0
- data/docs/UpdateCanvasRequest.md +22 -0
- data/docs/UpdateComposition.md +32 -0
- data/docs/UpdateCompositionStatusRequest.md +18 -0
- data/docs/UpdateDomainRequest.md +18 -0
- data/docs/UpdateManagedUser.md +22 -0
- data/docs/UpdatePartnerEntryContextSigningRequest.md +18 -0
- data/docs/UpdatePartnerNotificationSettingsRequest.md +24 -0
- data/docs/UpdateUserApiKeyRequest.md +20 -0
- data/docs/Upload.md +44 -0
- data/docs/UploadLimits.md +28 -0
- data/docs/UploadLimitsResponse.md +22 -0
- data/docs/UploadResponse.md +22 -0
- data/docs/UploadsApi.md +372 -0
- data/docs/UploadsGet200Response.md +22 -0
- data/docs/UploadsIdDelete200Response.md +22 -0
- data/docs/UploadsIdDelete200ResponseData.md +18 -0
- data/docs/UserApiKey.md +34 -0
- data/docs/UserApiKeyResponse.md +22 -0
- data/docs/UserApiKeyUsageLog.md +32 -0
- data/docs/UsersApi.md +881 -0
- data/docs/ValidateCompositionContentResponse.md +22 -0
- data/docs/ValidateCompositionContentResponseData.md +24 -0
- data/docs/ValidateToken200Response.md +22 -0
- data/docs/ValidateToken200ResponseData.md +26 -0
- data/docs/Widget.md +60 -0
- data/docs/WidgetsApi.md +303 -0
- data/git_push.sh +57 -0
- data/lib/api-sdk-rb/api/canvases_api.rb +390 -0
- data/lib/api-sdk-rb/api/compositions_api.rb +3267 -0
- data/lib/api-sdk-rb/api/credits_api.rb +169 -0
- data/lib/api-sdk-rb/api/entitlements_api.rb +166 -0
- data/lib/api-sdk-rb/api/invoices_api.rb +110 -0
- data/lib/api-sdk-rb/api/managed_users_api.rb +1299 -0
- data/lib/api-sdk-rb/api/operations_api.rb +85 -0
- data/lib/api-sdk-rb/api/partner_api.rb +10693 -0
- data/lib/api-sdk-rb/api/partners_api.rb +2799 -0
- data/lib/api-sdk-rb/api/public_embed_api.rb +496 -0
- data/lib/api-sdk-rb/api/tokens_api.rb +77 -0
- data/lib/api-sdk-rb/api/uploads_api.rb +383 -0
- data/lib/api-sdk-rb/api/users_api.rb +934 -0
- data/lib/api-sdk-rb/api/widgets_api.rb +347 -0
- data/lib/api-sdk-rb/api_client.rb +394 -0
- data/lib/api-sdk-rb/api_error.rb +58 -0
- data/lib/api-sdk-rb/configuration.rb +425 -0
- data/lib/api-sdk-rb/models/account_credit_balance.rb +253 -0
- data/lib/api-sdk-rb/models/account_credit_balance_response.rb +247 -0
- data/lib/api-sdk-rb/models/account_credit_transaction.rb +277 -0
- data/lib/api-sdk-rb/models/adapter_connection.rb +355 -0
- data/lib/api-sdk-rb/models/adapter_connection_removal.rb +222 -0
- data/lib/api-sdk-rb/models/add_ai_answers_knowledge_document201_response.rb +246 -0
- data/lib/api-sdk-rb/models/add_ai_answers_knowledge_document_request.rb +277 -0
- data/lib/api-sdk-rb/models/add_domain_request.rb +222 -0
- data/lib/api-sdk-rb/models/ai_answers_knowledge.rb +240 -0
- data/lib/api-sdk-rb/models/ai_answers_knowledge_document.rb +373 -0
- data/lib/api-sdk-rb/models/ai_answers_knowledge_removal.rb +222 -0
- data/lib/api-sdk-rb/models/ai_answers_knowledge_totals.rb +273 -0
- data/lib/api-sdk-rb/models/api_key_scope.rb +47 -0
- data/lib/api-sdk-rb/models/canvas.rb +315 -0
- data/lib/api-sdk-rb/models/canvas_response.rb +247 -0
- data/lib/api-sdk-rb/models/check_composition_access_response.rb +247 -0
- data/lib/api-sdk-rb/models/check_composition_access_response_data.rb +225 -0
- data/lib/api-sdk-rb/models/composition.rb +447 -0
- data/lib/api-sdk-rb/models/composition_data_source.rb +287 -0
- data/lib/api-sdk-rb/models/composition_data_source_response.rb +247 -0
- data/lib/api-sdk-rb/models/composition_entries_description.rb +258 -0
- data/lib/api-sdk-rb/models/composition_entries_description_response.rb +247 -0
- data/lib/api-sdk-rb/models/composition_entries_reading.rb +368 -0
- data/lib/api-sdk-rb/models/composition_entries_reading_response.rb +247 -0
- data/lib/api-sdk-rb/models/composition_entry_aggregate_tally.rb +271 -0
- data/lib/api-sdk-rb/models/composition_entry_aggregates_block.rb +252 -0
- data/lib/api-sdk-rb/models/composition_entry_column.rb +239 -0
- data/lib/api-sdk-rb/models/composition_entry_delete_success.rb +237 -0
- data/lib/api-sdk-rb/models/composition_entry_delete_success_data.rb +221 -0
- data/lib/api-sdk-rb/models/composition_entry_item.rb +274 -0
- data/lib/api-sdk-rb/models/composition_entry_items_meta.rb +279 -0
- data/lib/api-sdk-rb/models/composition_entry_items_page_success.rb +255 -0
- data/lib/api-sdk-rb/models/composition_entry_table.rb +269 -0
- data/lib/api-sdk-rb/models/composition_entry_tally.rb +254 -0
- data/lib/api-sdk-rb/models/composition_response.rb +247 -0
- data/lib/api-sdk-rb/models/composition_version.rb +255 -0
- data/lib/api-sdk-rb/models/content_check_finding.rb +260 -0
- data/lib/api-sdk-rb/models/content_item_write_result.rb +266 -0
- data/lib/api-sdk-rb/models/content_item_write_result_validation_result.rb +236 -0
- data/lib/api-sdk-rb/models/copy_partner_preset_request.rb +243 -0
- data/lib/api-sdk-rb/models/create_canvas_request.rb +291 -0
- data/lib/api-sdk-rb/models/create_composition_content_item201_response.rb +246 -0
- data/lib/api-sdk-rb/models/create_composition_content_item_request.rb +233 -0
- data/lib/api-sdk-rb/models/create_composition_database_record201_response.rb +249 -0
- data/lib/api-sdk-rb/models/create_composition_from_preset_request.rb +259 -0
- data/lib/api-sdk-rb/models/create_composition_from_widget201_response.rb +246 -0
- data/lib/api-sdk-rb/models/create_composition_from_widget_request.rb +267 -0
- data/lib/api-sdk-rb/models/create_user_api_key_request.rb +335 -0
- data/lib/api-sdk-rb/models/create_widget201_response.rb +246 -0
- data/lib/api-sdk-rb/models/create_widget201_response_data.rb +493 -0
- data/lib/api-sdk-rb/models/created_user_api_key.rb +384 -0
- data/lib/api-sdk-rb/models/created_user_api_key_response.rb +247 -0
- data/lib/api-sdk-rb/models/delete_composition_content_item_response.rb +247 -0
- data/lib/api-sdk-rb/models/delete_composition_content_item_response_data.rb +223 -0
- data/lib/api-sdk-rb/models/delete_composition_data_source_response.rb +247 -0
- data/lib/api-sdk-rb/models/delete_composition_data_source_response_data.rb +222 -0
- data/lib/api-sdk-rb/models/delete_managed_user200_response.rb +246 -0
- data/lib/api-sdk-rb/models/delete_personal_workspace_domain_response.rb +247 -0
- data/lib/api-sdk-rb/models/delete_personal_workspace_domain_response_data.rb +214 -0
- data/lib/api-sdk-rb/models/delete_user_api_key_response.rb +247 -0
- data/lib/api-sdk-rb/models/delete_user_api_key_response_data.rb +214 -0
- data/lib/api-sdk-rb/models/design_defaults.rb +221 -0
- data/lib/api-sdk-rb/models/duplicate_composition202_response.rb +246 -0
- data/lib/api-sdk-rb/models/duplicate_composition202_response_data.rb +215 -0
- data/lib/api-sdk-rb/models/duplicate_composition_request.rb +227 -0
- data/lib/api-sdk-rb/models/editor_session.rb +367 -0
- data/lib/api-sdk-rb/models/editor_session_response.rb +247 -0
- data/lib/api-sdk-rb/models/entitlement.rb +350 -0
- data/lib/api-sdk-rb/models/error_detail.rb +317 -0
- data/lib/api-sdk-rb/models/error_response.rb +255 -0
- data/lib/api-sdk-rb/models/export_composition_entry_items200_response.rb +255 -0
- data/lib/api-sdk-rb/models/export_composition_entry_items200_response_meta.rb +237 -0
- data/lib/api-sdk-rb/models/get_ai_answers_knowledge200_response.rb +246 -0
- data/lib/api-sdk-rb/models/get_all_canvases_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_all_canvases_response_data.rb +244 -0
- data/lib/api-sdk-rb/models/get_all_compositions200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_all_managed_users200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_composition_content_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_composition_content_schema_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_composition_content_schema_response_data.rb +261 -0
- data/lib/api-sdk-rb/models/get_composition_data_source_response.rb +243 -0
- data/lib/api-sdk-rb/models/get_composition_database_records200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_composition_design_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_composition_design_schema_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_composition_design_schema_response_data.rb +262 -0
- data/lib/api-sdk-rb/models/get_composition_embed_schema_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_composition_embed_schema_response_data.rb +302 -0
- data/lib/api-sdk-rb/models/get_composition_embed_settings_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_composition_preview_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_composition_preview_response_data.rb +245 -0
- data/lib/api-sdk-rb/models/get_composition_versions200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_compositions_batch_request.rb +243 -0
- data/lib/api-sdk-rb/models/get_compositions_batch_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_compositions_batch_response_data.rb +227 -0
- data/lib/api-sdk-rb/models/get_invoices_by_partner_id200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_managed_user_entitlements_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_managed_user_entitlements_response_data.rb +225 -0
- data/lib/api-sdk-rb/models/get_managed_user_limits200_response.rb +246 -0
- data/lib/api-sdk-rb/models/get_managed_user_storage_usage200_response.rb +246 -0
- data/lib/api-sdk-rb/models/get_managed_user_storage_usage200_response_data.rb +253 -0
- data/lib/api-sdk-rb/models/get_managed_user_storage_usage200_response_data_by_purpose.rb +241 -0
- data/lib/api-sdk-rb/models/get_managed_users_by_manager_id_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_managed_users_by_manager_id_response_data.rb +243 -0
- data/lib/api-sdk-rb/models/get_partner_billing_overview200_response.rb +246 -0
- data/lib/api-sdk-rb/models/get_partner_credit_transactions200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_partner_design_defaults200_response.rb +246 -0
- data/lib/api-sdk-rb/models/get_partner_entitlements_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_partner_entitlements_response_data.rb +225 -0
- data/lib/api-sdk-rb/models/get_personal_workspace_domains200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_public_composition_embed200_response.rb +348 -0
- data/lib/api-sdk-rb/models/get_public_composition_embed200_response_data_source.rb +223 -0
- data/lib/api-sdk-rb/models/get_public_composition_embed200_response_direct.rb +234 -0
- data/lib/api-sdk-rb/models/get_user_adapter_connections200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_user_api_key_usage_logs_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_user_api_key_usage_logs_response_data.rb +223 -0
- data/lib/api-sdk-rb/models/get_user_api_keys200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_widgets200_response.rb +248 -0
- data/lib/api-sdk-rb/models/get_widgets_batch_request.rb +223 -0
- data/lib/api-sdk-rb/models/get_widgets_batch_response.rb +247 -0
- data/lib/api-sdk-rb/models/get_widgets_batch_response_data.rb +227 -0
- data/lib/api-sdk-rb/models/get_widgets_batch_response_data_errors_inner.rb +223 -0
- data/lib/api-sdk-rb/models/list_partner_presets200_response.rb +248 -0
- data/lib/api-sdk-rb/models/managed_user.rb +312 -0
- data/lib/api-sdk-rb/models/managed_user_entries_meta.rb +274 -0
- data/lib/api-sdk-rb/models/managed_user_entries_page_success.rb +255 -0
- data/lib/api-sdk-rb/models/managed_user_entry_item.rb +313 -0
- data/lib/api-sdk-rb/models/managed_user_limits.rb +264 -0
- data/lib/api-sdk-rb/models/managed_user_operation_usage.rb +291 -0
- data/lib/api-sdk-rb/models/managed_user_removal.rb +239 -0
- data/lib/api-sdk-rb/models/managed_user_response.rb +247 -0
- data/lib/api-sdk-rb/models/managed_user_usage.rb +308 -0
- data/lib/api-sdk-rb/models/managed_user_usage_response.rb +247 -0
- data/lib/api-sdk-rb/models/managed_user_usage_totals.rb +270 -0
- data/lib/api-sdk-rb/models/my_partner.rb +368 -0
- data/lib/api-sdk-rb/models/my_partners.rb +288 -0
- data/lib/api-sdk-rb/models/my_partners_response.rb +247 -0
- data/lib/api-sdk-rb/models/new_composition.rb +350 -0
- data/lib/api-sdk-rb/models/new_editor_session.rb +340 -0
- data/lib/api-sdk-rb/models/new_managed_user.rb +242 -0
- data/lib/api-sdk-rb/models/new_widget.rb +434 -0
- data/lib/api-sdk-rb/models/operations_id_get_response.rb +247 -0
- data/lib/api-sdk-rb/models/operations_id_get_response_data.rb +348 -0
- data/lib/api-sdk-rb/models/partner_analytics_by_managed_user.rb +272 -0
- data/lib/api-sdk-rb/models/partner_analytics_by_managed_user_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_analytics_of_day.rb +270 -0
- data/lib/api-sdk-rb/models/partner_analytics_of_managed_user.rb +354 -0
- data/lib/api-sdk-rb/models/partner_analytics_of_widget.rb +300 -0
- data/lib/api-sdk-rb/models/partner_analytics_summary.rb +336 -0
- data/lib/api-sdk-rb/models/partner_analytics_summary_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_analytics_timeline.rb +270 -0
- data/lib/api-sdk-rb/models/partner_analytics_timeline_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_analytics_top_widgets.rb +269 -0
- data/lib/api-sdk-rb/models/partner_analytics_top_widgets_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_billing_overview.rb +265 -0
- data/lib/api-sdk-rb/models/partner_billing_overview_billing_integration.rb +304 -0
- data/lib/api-sdk-rb/models/partner_billing_overview_operational_credits.rb +276 -0
- data/lib/api-sdk-rb/models/partner_billing_overview_partner.rb +304 -0
- data/lib/api-sdk-rb/models/partner_contract.rb +400 -0
- data/lib/api-sdk-rb/models/partner_contract_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_customization.rb +414 -0
- data/lib/api-sdk-rb/models/partner_data_database.rb +332 -0
- data/lib/api-sdk-rb/models/partner_data_database_removal.rb +222 -0
- data/lib/api-sdk-rb/models/partner_data_database_removal_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_data_database_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_entry_context_secret.rb +239 -0
- data/lib/api-sdk-rb/models/partner_entry_context_secret_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_entry_context_signing.rb +299 -0
- data/lib/api-sdk-rb/models/partner_entry_context_signing_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_extra_credits_invoice.rb +394 -0
- data/lib/api-sdk-rb/models/partner_extra_credits_invoice_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_invoice.rb +489 -0
- data/lib/api-sdk-rb/models/partner_notification.rb +358 -0
- data/lib/api-sdk-rb/models/partner_notification_default_recipients.rb +244 -0
- data/lib/api-sdk-rb/models/partner_notification_delivery.rb +466 -0
- data/lib/api-sdk-rb/models/partner_notification_delivery_log.rb +224 -0
- data/lib/api-sdk-rb/models/partner_notification_delivery_log_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_notification_delivery_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_notification_event.rb +351 -0
- data/lib/api-sdk-rb/models/partner_notification_event_type.rb +54 -0
- data/lib/api-sdk-rb/models/partner_notification_page.rb +237 -0
- data/lib/api-sdk-rb/models/partner_notification_page_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_notification_settings.rb +366 -0
- data/lib/api-sdk-rb/models/partner_notification_settings_change.rb +235 -0
- data/lib/api-sdk-rb/models/partner_notification_settings_change_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_notification_settings_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_notification_test_event_request.rb +244 -0
- data/lib/api-sdk-rb/models/partner_notification_test_event_result.rb +263 -0
- data/lib/api-sdk-rb/models/partner_notification_test_event_result_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_preset.rb +344 -0
- data/lib/api-sdk-rb/models/partner_preset_copy.rb +308 -0
- data/lib/api-sdk-rb/models/partner_preset_copy_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_preset_removal.rb +222 -0
- data/lib/api-sdk-rb/models/partner_preset_removal_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_preset_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_report_page.rb +257 -0
- data/lib/api-sdk-rb/models/partner_report_period.rb +240 -0
- data/lib/api-sdk-rb/models/partner_storage_destination.rb +393 -0
- data/lib/api-sdk-rb/models/partner_storage_destination_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_storage_removal.rb +222 -0
- data/lib/api-sdk-rb/models/partner_storage_removal_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_storage_usage.rb +272 -0
- data/lib/api-sdk-rb/models/partner_storage_usage_of_managed_user.rb +334 -0
- data/lib/api-sdk-rb/models/partner_storage_usage_response.rb +247 -0
- data/lib/api-sdk-rb/models/partner_storage_usage_totals.rb +273 -0
- data/lib/api-sdk-rb/models/personal_workspace_domain.rb +275 -0
- data/lib/api-sdk-rb/models/personal_workspace_domain_result.rb +237 -0
- data/lib/api-sdk-rb/models/personal_workspace_domain_result_response.rb +247 -0
- data/lib/api-sdk-rb/models/post_public_composition_embed_status200_response.rb +246 -0
- data/lib/api-sdk-rb/models/post_public_composition_embed_status200_response_data.rb +239 -0
- data/lib/api-sdk-rb/models/post_public_composition_embed_status_request.rb +251 -0
- data/lib/api-sdk-rb/models/public_adapter_call_error.rb +265 -0
- data/lib/api-sdk-rb/models/public_adapter_call_request.rb +332 -0
- data/lib/api-sdk-rb/models/public_adapter_call_result.rb +237 -0
- data/lib/api-sdk-rb/models/public_adapter_call_result_data.rb +224 -0
- data/lib/api-sdk-rb/models/public_adapter_file_result.rb +237 -0
- data/lib/api-sdk-rb/models/public_adapter_file_result_data.rb +221 -0
- data/lib/api-sdk-rb/models/public_adapter_file_result_data_file.rb +318 -0
- data/lib/api-sdk-rb/models/public_composition_entry_created.rb +237 -0
- data/lib/api-sdk-rb/models/public_composition_entry_created_data.rb +253 -0
- data/lib/api-sdk-rb/models/public_composition_entry_request.rb +246 -0
- data/lib/api-sdk-rb/models/public_embed_failure.rb +291 -0
- data/lib/api-sdk-rb/models/public_embed_failure_details.rb +260 -0
- data/lib/api-sdk-rb/models/public_embed_failure_error.rb +283 -0
- data/lib/api-sdk-rb/models/purpose_storage_bucket.rb +237 -0
- data/lib/api-sdk-rb/models/remove_ai_answers_knowledge_document200_response.rb +246 -0
- data/lib/api-sdk-rb/models/remove_user_adapter_connection200_response.rb +246 -0
- data/lib/api-sdk-rb/models/request_extra_credits.rb +250 -0
- data/lib/api-sdk-rb/models/response_meta.rb +297 -0
- data/lib/api-sdk-rb/models/revoke_managed_user_editor_sessions_response.rb +247 -0
- data/lib/api-sdk-rb/models/revoke_managed_user_editor_sessions_response_data.rb +215 -0
- data/lib/api-sdk-rb/models/set_adapter_connection_request.rb +241 -0
- data/lib/api-sdk-rb/models/set_composition_data_source_request.rb +284 -0
- data/lib/api-sdk-rb/models/set_dynamic_content_request.rb +266 -0
- data/lib/api-sdk-rb/models/set_dynamic_content_response.rb +247 -0
- data/lib/api-sdk-rb/models/set_dynamic_content_response_data.rb +251 -0
- data/lib/api-sdk-rb/models/set_dynamic_content_response_data_validation_result.rb +236 -0
- data/lib/api-sdk-rb/models/set_managed_user_limits_request.rb +241 -0
- data/lib/api-sdk-rb/models/set_partner_data_database_request.rb +222 -0
- data/lib/api-sdk-rb/models/set_partner_design_defaults_request.rb +217 -0
- data/lib/api-sdk-rb/models/set_partner_preset_request.rb +322 -0
- data/lib/api-sdk-rb/models/set_partner_storage_destination_request.rb +331 -0
- data/lib/api-sdk-rb/models/set_user_adapter_connection200_response.rb +246 -0
- data/lib/api-sdk-rb/models/success_response.rb +250 -0
- data/lib/api-sdk-rb/models/update_canvas_request.rb +236 -0
- data/lib/api-sdk-rb/models/update_composition.rb +285 -0
- data/lib/api-sdk-rb/models/update_composition_status_request.rb +256 -0
- data/lib/api-sdk-rb/models/update_domain_request.rb +223 -0
- data/lib/api-sdk-rb/models/update_managed_user.rb +235 -0
- data/lib/api-sdk-rb/models/update_partner_entry_context_signing_request.rb +222 -0
- data/lib/api-sdk-rb/models/update_partner_notification_settings_request.rb +289 -0
- data/lib/api-sdk-rb/models/update_user_api_key_request.rb +254 -0
- data/lib/api-sdk-rb/models/upload.rb +462 -0
- data/lib/api-sdk-rb/models/upload_limits.rb +269 -0
- data/lib/api-sdk-rb/models/upload_limits_response.rb +247 -0
- data/lib/api-sdk-rb/models/upload_response.rb +247 -0
- data/lib/api-sdk-rb/models/uploads_get200_response.rb +248 -0
- data/lib/api-sdk-rb/models/uploads_id_delete200_response.rb +246 -0
- data/lib/api-sdk-rb/models/uploads_id_delete200_response_data.rb +214 -0
- data/lib/api-sdk-rb/models/user_api_key.rb +382 -0
- data/lib/api-sdk-rb/models/user_api_key_response.rb +247 -0
- data/lib/api-sdk-rb/models/user_api_key_usage_log.rb +326 -0
- data/lib/api-sdk-rb/models/validate_composition_content_response.rb +247 -0
- data/lib/api-sdk-rb/models/validate_composition_content_response_data.rb +258 -0
- data/lib/api-sdk-rb/models/validate_token200_response.rb +246 -0
- data/lib/api-sdk-rb/models/validate_token200_response_data.rb +286 -0
- data/lib/api-sdk-rb/models/widget.rb +475 -0
- data/lib/api-sdk-rb/version.rb +15 -0
- data/lib/api-sdk-rb.rb +319 -0
- data/spec/api/canvases_api_spec.rb +104 -0
- data/spec/api/compositions_api_spec.rb +578 -0
- data/spec/api/credits_api_spec.rb +62 -0
- data/spec/api/entitlements_api_spec.rb +65 -0
- data/spec/api/invoices_api_spec.rb +50 -0
- data/spec/api/managed_users_api_spec.rb +256 -0
- data/spec/api/operations_api_spec.rb +47 -0
- data/spec/api/partner_api_spec.rb +1895 -0
- data/spec/api/partners_api_spec.rb +525 -0
- data/spec/api/public_embed_api_spec.rb +115 -0
- data/spec/api/tokens_api_spec.rb +45 -0
- data/spec/api/uploads_api_spec.rb +101 -0
- data/spec/api/users_api_spec.rb +195 -0
- data/spec/api/widgets_api_spec.rb +90 -0
- data/spec/models/account_credit_balance_response_spec.rb +48 -0
- data/spec/models/account_credit_balance_spec.rb +60 -0
- data/spec/models/account_credit_transaction_spec.rb +72 -0
- data/spec/models/adapter_connection_removal_spec.rb +36 -0
- data/spec/models/adapter_connection_spec.rb +76 -0
- data/spec/models/add_ai_answers_knowledge_document201_response_spec.rb +48 -0
- data/spec/models/add_ai_answers_knowledge_document_request_spec.rb +42 -0
- data/spec/models/add_domain_request_spec.rb +36 -0
- data/spec/models/ai_answers_knowledge_document_spec.rb +76 -0
- data/spec/models/ai_answers_knowledge_removal_spec.rb +36 -0
- data/spec/models/ai_answers_knowledge_spec.rb +42 -0
- data/spec/models/ai_answers_knowledge_totals_spec.rb +54 -0
- data/spec/models/api_key_scope_spec.rb +30 -0
- data/spec/models/canvas_response_spec.rb +48 -0
- data/spec/models/canvas_spec.rb +78 -0
- data/spec/models/check_composition_access_response_data_spec.rb +42 -0
- data/spec/models/check_composition_access_response_spec.rb +48 -0
- data/spec/models/composition_data_source_response_spec.rb +48 -0
- data/spec/models/composition_data_source_spec.rb +42 -0
- data/spec/models/composition_entries_description_response_spec.rb +48 -0
- data/spec/models/composition_entries_description_spec.rb +48 -0
- data/spec/models/composition_entries_reading_response_spec.rb +48 -0
- data/spec/models/composition_entries_reading_spec.rb +84 -0
- data/spec/models/composition_entry_aggregate_tally_spec.rb +66 -0
- data/spec/models/composition_entry_aggregates_block_spec.rb +48 -0
- data/spec/models/composition_entry_column_spec.rb +42 -0
- data/spec/models/composition_entry_delete_success_data_spec.rb +36 -0
- data/spec/models/composition_entry_delete_success_spec.rb +42 -0
- data/spec/models/composition_entry_item_spec.rb +60 -0
- data/spec/models/composition_entry_items_meta_spec.rb +52 -0
- data/spec/models/composition_entry_items_page_success_spec.rb +48 -0
- data/spec/models/composition_entry_table_spec.rb +48 -0
- data/spec/models/composition_entry_tally_spec.rb +42 -0
- data/spec/models/composition_response_spec.rb +48 -0
- data/spec/models/composition_spec.rb +124 -0
- data/spec/models/composition_version_spec.rb +60 -0
- data/spec/models/content_check_finding_spec.rb +54 -0
- data/spec/models/content_item_write_result_spec.rb +66 -0
- data/spec/models/content_item_write_result_validation_result_spec.rb +48 -0
- data/spec/models/copy_partner_preset_request_spec.rb +36 -0
- data/spec/models/create_canvas_request_spec.rb +66 -0
- data/spec/models/create_composition_content_item201_response_spec.rb +48 -0
- data/spec/models/create_composition_content_item_request_spec.rb +36 -0
- data/spec/models/create_composition_database_record201_response_spec.rb +48 -0
- data/spec/models/create_composition_from_preset_request_spec.rb +60 -0
- data/spec/models/create_composition_from_widget201_response_spec.rb +48 -0
- data/spec/models/create_composition_from_widget_request_spec.rb +66 -0
- data/spec/models/create_user_api_key_request_spec.rb +58 -0
- data/spec/models/create_widget201_response_data_spec.rb +172 -0
- data/spec/models/create_widget201_response_spec.rb +48 -0
- data/spec/models/created_user_api_key_response_spec.rb +48 -0
- data/spec/models/created_user_api_key_spec.rb +88 -0
- data/spec/models/delete_composition_content_item_response_data_spec.rb +42 -0
- data/spec/models/delete_composition_content_item_response_spec.rb +48 -0
- data/spec/models/delete_composition_data_source_response_data_spec.rb +36 -0
- data/spec/models/delete_composition_data_source_response_spec.rb +48 -0
- data/spec/models/delete_managed_user200_response_spec.rb +48 -0
- data/spec/models/delete_personal_workspace_domain_response_data_spec.rb +36 -0
- data/spec/models/delete_personal_workspace_domain_response_spec.rb +48 -0
- data/spec/models/delete_user_api_key_response_data_spec.rb +36 -0
- data/spec/models/delete_user_api_key_response_spec.rb +48 -0
- data/spec/models/design_defaults_spec.rb +36 -0
- data/spec/models/duplicate_composition202_response_data_spec.rb +36 -0
- data/spec/models/duplicate_composition202_response_spec.rb +48 -0
- data/spec/models/duplicate_composition_request_spec.rb +42 -0
- data/spec/models/editor_session_response_spec.rb +48 -0
- data/spec/models/editor_session_spec.rb +88 -0
- data/spec/models/entitlement_spec.rb +100 -0
- data/spec/models/error_detail_spec.rb +84 -0
- data/spec/models/error_response_spec.rb +48 -0
- data/spec/models/export_composition_entry_items200_response_meta_spec.rb +42 -0
- data/spec/models/export_composition_entry_items200_response_spec.rb +48 -0
- data/spec/models/get_ai_answers_knowledge200_response_spec.rb +48 -0
- data/spec/models/get_all_canvases_response_data_spec.rb +54 -0
- data/spec/models/get_all_canvases_response_spec.rb +48 -0
- data/spec/models/get_all_compositions200_response_spec.rb +48 -0
- data/spec/models/get_all_managed_users200_response_spec.rb +48 -0
- data/spec/models/get_composition_content_response_spec.rb +48 -0
- data/spec/models/get_composition_content_schema_response_data_spec.rb +66 -0
- data/spec/models/get_composition_content_schema_response_spec.rb +48 -0
- data/spec/models/get_composition_data_source_response_spec.rb +48 -0
- data/spec/models/get_composition_database_records200_response_spec.rb +48 -0
- data/spec/models/get_composition_design_response_spec.rb +48 -0
- data/spec/models/get_composition_design_schema_response_data_spec.rb +66 -0
- data/spec/models/get_composition_design_schema_response_spec.rb +48 -0
- data/spec/models/get_composition_embed_schema_response_data_spec.rb +70 -0
- data/spec/models/get_composition_embed_schema_response_spec.rb +48 -0
- data/spec/models/get_composition_embed_settings_response_spec.rb +48 -0
- data/spec/models/get_composition_preview_response_data_spec.rb +54 -0
- data/spec/models/get_composition_preview_response_spec.rb +48 -0
- data/spec/models/get_composition_versions200_response_spec.rb +48 -0
- data/spec/models/get_compositions_batch_request_spec.rb +36 -0
- data/spec/models/get_compositions_batch_response_data_spec.rb +42 -0
- data/spec/models/get_compositions_batch_response_spec.rb +48 -0
- data/spec/models/get_invoices_by_partner_id200_response_spec.rb +48 -0
- data/spec/models/get_managed_user_entitlements_response_data_spec.rb +42 -0
- data/spec/models/get_managed_user_entitlements_response_spec.rb +48 -0
- data/spec/models/get_managed_user_limits200_response_spec.rb +48 -0
- data/spec/models/get_managed_user_storage_usage200_response_data_by_purpose_spec.rb +54 -0
- data/spec/models/get_managed_user_storage_usage200_response_data_spec.rb +48 -0
- data/spec/models/get_managed_user_storage_usage200_response_spec.rb +48 -0
- data/spec/models/get_managed_users_by_manager_id_response_data_spec.rb +54 -0
- data/spec/models/get_managed_users_by_manager_id_response_spec.rb +48 -0
- data/spec/models/get_partner_billing_overview200_response_spec.rb +48 -0
- data/spec/models/get_partner_credit_transactions200_response_spec.rb +48 -0
- data/spec/models/get_partner_design_defaults200_response_spec.rb +48 -0
- data/spec/models/get_partner_entitlements_response_data_spec.rb +42 -0
- data/spec/models/get_partner_entitlements_response_spec.rb +48 -0
- data/spec/models/get_personal_workspace_domains200_response_spec.rb +48 -0
- data/spec/models/get_public_composition_embed200_response_data_source_spec.rb +42 -0
- data/spec/models/get_public_composition_embed200_response_direct_spec.rb +48 -0
- data/spec/models/get_public_composition_embed200_response_spec.rb +120 -0
- data/spec/models/get_user_adapter_connections200_response_spec.rb +48 -0
- data/spec/models/get_user_api_key_usage_logs_response_data_spec.rb +36 -0
- data/spec/models/get_user_api_key_usage_logs_response_spec.rb +48 -0
- data/spec/models/get_user_api_keys200_response_spec.rb +48 -0
- data/spec/models/get_widgets200_response_spec.rb +48 -0
- data/spec/models/get_widgets_batch_request_spec.rb +36 -0
- data/spec/models/get_widgets_batch_response_data_errors_inner_spec.rb +42 -0
- data/spec/models/get_widgets_batch_response_data_spec.rb +42 -0
- data/spec/models/get_widgets_batch_response_spec.rb +48 -0
- data/spec/models/list_partner_presets200_response_spec.rb +48 -0
- data/spec/models/managed_user_entries_meta_spec.rb +60 -0
- data/spec/models/managed_user_entries_page_success_spec.rb +48 -0
- data/spec/models/managed_user_entry_item_spec.rb +72 -0
- data/spec/models/managed_user_limits_spec.rb +54 -0
- data/spec/models/managed_user_operation_usage_spec.rb +60 -0
- data/spec/models/managed_user_removal_spec.rb +42 -0
- data/spec/models/managed_user_response_spec.rb +48 -0
- data/spec/models/managed_user_spec.rb +72 -0
- data/spec/models/managed_user_usage_response_spec.rb +48 -0
- data/spec/models/managed_user_usage_spec.rb +66 -0
- data/spec/models/managed_user_usage_totals_spec.rb +54 -0
- data/spec/models/my_partner_spec.rb +88 -0
- data/spec/models/my_partners_response_spec.rb +48 -0
- data/spec/models/my_partners_spec.rb +52 -0
- data/spec/models/new_composition_spec.rb +96 -0
- data/spec/models/new_editor_session_spec.rb +58 -0
- data/spec/models/new_managed_user_spec.rb +48 -0
- data/spec/models/new_widget_spec.rb +100 -0
- data/spec/models/operations_id_get_response_data_spec.rb +82 -0
- data/spec/models/operations_id_get_response_spec.rb +48 -0
- data/spec/models/partner_analytics_by_managed_user_response_spec.rb +48 -0
- data/spec/models/partner_analytics_by_managed_user_spec.rb +54 -0
- data/spec/models/partner_analytics_of_day_spec.rb +54 -0
- data/spec/models/partner_analytics_of_managed_user_spec.rb +90 -0
- data/spec/models/partner_analytics_of_widget_spec.rb +66 -0
- data/spec/models/partner_analytics_summary_response_spec.rb +48 -0
- data/spec/models/partner_analytics_summary_spec.rb +78 -0
- data/spec/models/partner_analytics_timeline_response_spec.rb +48 -0
- data/spec/models/partner_analytics_timeline_spec.rb +54 -0
- data/spec/models/partner_analytics_top_widgets_response_spec.rb +48 -0
- data/spec/models/partner_analytics_top_widgets_spec.rb +54 -0
- data/spec/models/partner_billing_overview_billing_integration_spec.rb +58 -0
- data/spec/models/partner_billing_overview_operational_credits_spec.rb +54 -0
- data/spec/models/partner_billing_overview_partner_spec.rb +58 -0
- data/spec/models/partner_billing_overview_spec.rb +54 -0
- data/spec/models/partner_contract_response_spec.rb +48 -0
- data/spec/models/partner_contract_spec.rb +130 -0
- data/spec/models/partner_customization_spec.rb +136 -0
- data/spec/models/partner_data_database_removal_response_spec.rb +48 -0
- data/spec/models/partner_data_database_removal_spec.rb +36 -0
- data/spec/models/partner_data_database_response_spec.rb +48 -0
- data/spec/models/partner_data_database_spec.rb +78 -0
- data/spec/models/partner_entry_context_secret_response_spec.rb +48 -0
- data/spec/models/partner_entry_context_secret_spec.rb +42 -0
- data/spec/models/partner_entry_context_signing_response_spec.rb +48 -0
- data/spec/models/partner_entry_context_signing_spec.rb +66 -0
- data/spec/models/partner_extra_credits_invoice_response_spec.rb +48 -0
- data/spec/models/partner_extra_credits_invoice_spec.rb +102 -0
- data/spec/models/partner_invoice_spec.rb +178 -0
- data/spec/models/partner_notification_default_recipients_spec.rb +42 -0
- data/spec/models/partner_notification_delivery_log_response_spec.rb +48 -0
- data/spec/models/partner_notification_delivery_log_spec.rb +36 -0
- data/spec/models/partner_notification_delivery_response_spec.rb +48 -0
- data/spec/models/partner_notification_delivery_spec.rb +128 -0
- data/spec/models/partner_notification_event_spec.rb +74 -0
- data/spec/models/partner_notification_event_type_spec.rb +30 -0
- data/spec/models/partner_notification_page_response_spec.rb +48 -0
- data/spec/models/partner_notification_page_spec.rb +42 -0
- data/spec/models/partner_notification_settings_change_response_spec.rb +48 -0
- data/spec/models/partner_notification_settings_change_spec.rb +42 -0
- data/spec/models/partner_notification_settings_response_spec.rb +48 -0
- data/spec/models/partner_notification_settings_spec.rb +90 -0
- data/spec/models/partner_notification_spec.rb +76 -0
- data/spec/models/partner_notification_test_event_request_spec.rb +36 -0
- data/spec/models/partner_notification_test_event_result_response_spec.rb +48 -0
- data/spec/models/partner_notification_test_event_result_spec.rb +54 -0
- data/spec/models/partner_preset_copy_response_spec.rb +48 -0
- data/spec/models/partner_preset_copy_spec.rb +66 -0
- data/spec/models/partner_preset_removal_response_spec.rb +48 -0
- data/spec/models/partner_preset_removal_spec.rb +36 -0
- data/spec/models/partner_preset_response_spec.rb +48 -0
- data/spec/models/partner_preset_spec.rb +84 -0
- data/spec/models/partner_report_page_spec.rb +48 -0
- data/spec/models/partner_report_period_spec.rb +42 -0
- data/spec/models/partner_storage_destination_response_spec.rb +48 -0
- data/spec/models/partner_storage_destination_spec.rb +102 -0
- data/spec/models/partner_storage_removal_response_spec.rb +48 -0
- data/spec/models/partner_storage_removal_spec.rb +36 -0
- data/spec/models/partner_storage_usage_of_managed_user_spec.rb +84 -0
- data/spec/models/partner_storage_usage_response_spec.rb +48 -0
- data/spec/models/partner_storage_usage_spec.rb +54 -0
- data/spec/models/partner_storage_usage_totals_spec.rb +54 -0
- data/spec/models/personal_workspace_domain_result_response_spec.rb +48 -0
- data/spec/models/personal_workspace_domain_result_spec.rb +42 -0
- data/spec/models/personal_workspace_domain_spec.rb +60 -0
- data/spec/models/post_public_composition_embed_status200_response_data_spec.rb +40 -0
- data/spec/models/post_public_composition_embed_status200_response_spec.rb +48 -0
- data/spec/models/post_public_composition_embed_status_request_spec.rb +36 -0
- data/spec/models/public_adapter_call_error_spec.rb +54 -0
- data/spec/models/public_adapter_call_request_spec.rb +60 -0
- data/spec/models/public_adapter_call_result_data_spec.rb +36 -0
- data/spec/models/public_adapter_call_result_spec.rb +42 -0
- data/spec/models/public_adapter_file_result_data_file_spec.rb +66 -0
- data/spec/models/public_adapter_file_result_data_spec.rb +36 -0
- data/spec/models/public_adapter_file_result_spec.rb +42 -0
- data/spec/models/public_composition_entry_created_data_spec.rb +48 -0
- data/spec/models/public_composition_entry_created_spec.rb +42 -0
- data/spec/models/public_composition_entry_request_spec.rb +48 -0
- data/spec/models/public_embed_failure_details_spec.rb +46 -0
- data/spec/models/public_embed_failure_error_spec.rb +66 -0
- data/spec/models/public_embed_failure_spec.rb +66 -0
- data/spec/models/purpose_storage_bucket_spec.rb +42 -0
- data/spec/models/remove_ai_answers_knowledge_document200_response_spec.rb +48 -0
- data/spec/models/remove_user_adapter_connection200_response_spec.rb +48 -0
- data/spec/models/request_extra_credits_spec.rb +36 -0
- data/spec/models/response_meta_spec.rb +84 -0
- data/spec/models/revoke_managed_user_editor_sessions_response_data_spec.rb +36 -0
- data/spec/models/revoke_managed_user_editor_sessions_response_spec.rb +48 -0
- data/spec/models/set_adapter_connection_request_spec.rb +36 -0
- data/spec/models/set_composition_data_source_request_spec.rb +42 -0
- data/spec/models/set_dynamic_content_request_spec.rb +60 -0
- data/spec/models/set_dynamic_content_response_data_spec.rb +60 -0
- data/spec/models/set_dynamic_content_response_data_validation_result_spec.rb +48 -0
- data/spec/models/set_dynamic_content_response_spec.rb +48 -0
- data/spec/models/set_managed_user_limits_request_spec.rb +36 -0
- data/spec/models/set_partner_data_database_request_spec.rb +36 -0
- data/spec/models/set_partner_design_defaults_request_spec.rb +36 -0
- data/spec/models/set_partner_preset_request_spec.rb +54 -0
- data/spec/models/set_partner_storage_destination_request_spec.rb +78 -0
- data/spec/models/set_user_adapter_connection200_response_spec.rb +48 -0
- data/spec/models/success_response_spec.rb +48 -0
- data/spec/models/update_canvas_request_spec.rb +48 -0
- data/spec/models/update_composition_spec.rb +78 -0
- data/spec/models/update_composition_status_request_spec.rb +40 -0
- data/spec/models/update_domain_request_spec.rb +36 -0
- data/spec/models/update_managed_user_spec.rb +48 -0
- data/spec/models/update_partner_entry_context_signing_request_spec.rb +36 -0
- data/spec/models/update_partner_notification_settings_request_spec.rb +54 -0
- data/spec/models/update_user_api_key_request_spec.rb +42 -0
- data/spec/models/upload_limits_response_spec.rb +48 -0
- data/spec/models/upload_limits_spec.rb +66 -0
- data/spec/models/upload_response_spec.rb +48 -0
- data/spec/models/upload_spec.rb +126 -0
- data/spec/models/uploads_get200_response_spec.rb +48 -0
- data/spec/models/uploads_id_delete200_response_data_spec.rb +36 -0
- data/spec/models/uploads_id_delete200_response_spec.rb +48 -0
- data/spec/models/user_api_key_response_spec.rb +48 -0
- data/spec/models/user_api_key_spec.rb +88 -0
- data/spec/models/user_api_key_usage_log_spec.rb +78 -0
- data/spec/models/validate_composition_content_response_data_spec.rb +54 -0
- data/spec/models/validate_composition_content_response_spec.rb +48 -0
- data/spec/models/validate_token200_response_data_spec.rb +64 -0
- data/spec/models/validate_token200_response_spec.rb +48 -0
- data/spec/models/widget_spec.rb +166 -0
- data/spec/spec_helper.rb +111 -0
- metadata +1216 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Widgetic API Gateway
|
|
3
|
+
|
|
4
|
+
#API documentation for the Widgetic API Gateway
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for ApiSdkRb::PublicEmbedApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'PublicEmbedApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = ApiSdkRb::PublicEmbedApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of PublicEmbedApi' do
|
|
30
|
+
it 'should create an instance of PublicEmbedApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(ApiSdkRb::PublicEmbedApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for call_public_composition_adapter_0
|
|
36
|
+
# Call a gateway operation of an adapter a published widget uses
|
|
37
|
+
# The door a widget's adapter module calls, from the visitor's browser, for the operations that cannot run in the browser: anything with a secret, a charge in credits or the owner's storage behind it. A widget that uses such an adapter is handed the address of this route as `adapters.url` in its `widgetic:host` message (see the host bridge contract) and calls `{adapters.url}/{adapterId}/{operation}`. It is not meant to be called by hand, and it takes no API key. **Address.** `https://api.widgetic.com/embed/compositions/{compositionId}/adapters/{adapterId}/{operation}`: the root of the API host, NOT under `/v1`. A client generated from this description for `https://api.widgetic.com/v1` must be given the base address `https://api.widgetic.com` for the calls of the `Public Embed` tag. **What it serves.** Only an adapter, and a version of it, that the widget's LIVE manifest (what the version that is published uses) lists, and only an operation that runs on the gateway. Anything else is one 404 `ADAPTER_NOT_AVAILABLE`, whatever the reason, so the route is no way to ask what a widget contains. An adapter an administrator stopped offering to NEW widgets keeps serving the widgets that already use it. **Who may call.** The same rule as the entry route: a permitted `Origin` header, which is the artifact origin the widget runs from or a website the owner allowed (or the owner's own platform). Page script cannot forge it. A request without a permitted `Origin` is 403 `ORIGIN_NOT_ALLOWED`. A composition that is not served (unpublished, or its owner's plan does not serve it) is 404, with the codes of the other public embed routes. When the partner of the owner signs the host context, a context that is not signed as the partner requires is refused with 403 `CONTEXT_SIGNATURE_REQUIRED`, `CONTEXT_SIGNATURE_INVALID` or `CONTEXT_SIGNATURE_EXPIRED`. **Cost and retries.** An operation priced in credits is charged to the owner of the widget (for a customer a partner manages, to the partner's administrator, within the monthly credits set for that customer), once for each `requestId`, before it runs, and given back if it does not answer. A `requestId` that was charged and not given back is 409 `REQUEST_ALREADY_USED` and the operation is NOT run a second time; one whose charge was given back may be tried again with the same `requestId`. A visitor never sees an owner's balance: a feature that cannot be used because its owner has no credits left, because the customer's monthly credits are spent, or because an administrator stopped the adapter, is the same 503 `ADAPTER_UNAVAILABLE` as every other \"not right now\". The owner is told through a notice. **Limits.** In front of everything, 120 calls a minute for each visitor address and composition and 600 a minute for a composition (429 `RATE_LIMITED`). Then, for each operation of a widget, a rate for each visitor address a minute and a cap for the widget a day: 30 and 5000 for an operation that is free, 10 and 500 for one that costs credits, unless the adapter says otherwise (never above 120 and 100000). A visitor over the rate is 429 `RATE_LIMITED`; a widget over its cap is 429 `WIDGET_LIMIT_REACHED`. Both carry a `Retry-After` header. The body is at most 64 KiB (413 `PAYLOAD_TOO_LARGE`) and JSON (415 `UNSUPPORTED_MEDIA_TYPE`); an operation has 30 seconds to answer (504 `ADAPTER_TIMEOUT`, and the charge is given back).
|
|
38
|
+
# @param composition_id
|
|
39
|
+
# @param adapter_id The id of the adapter, the name its module is known by, for example `upload`.
|
|
40
|
+
# @param operation The name of one operation of the adapter, as its documentation gives it.
|
|
41
|
+
# @param public_adapter_call_request
|
|
42
|
+
# @param [Hash] opts the optional parameters
|
|
43
|
+
# @return [PublicAdapterCallResult]
|
|
44
|
+
describe 'call_public_composition_adapter_0 test' do
|
|
45
|
+
it 'should work' do
|
|
46
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# unit tests for create_public_composition_entry_0
|
|
51
|
+
# Append a visitor entry through the gateway
|
|
52
|
+
# Public append-only write into a published composition database. No API key. The browser must send a permitted `Origin` header (the artifact iframe origin or a website the owner allowed). When the request comes from the shared artifact origin, it must also carry the per-composition write token (`X-Widgetic-Write-Token` header or `writeToken` body field, handed to the widget in `widgetic:host` as `entries.writeToken` and returned as `entryWriteToken` on `getPublicCompositionEmbed`). Host `context` is stored for partner attribution; it is not authenticated unless the partner signs it (see **Signed context**). Request bodies are limited to 16 KB before parsing. **Address.** `https://api.widgetic.com/embed/compositions/{compositionId}/entries/{table}`: the root of the API host, NOT under `/v1`. A client generated from this description for `https://api.widgetic.com/v1` must be given the base address `https://api.widgetic.com` for the calls of the `Public Embed` tag. **Signed context.** A partner that wants to trust `context` (to bill a customer by it, say) makes a signing secret (`rotatePartnerEntryContextSecret`), and its server signs the context it hands to the embed. The signature travels inside `context` as two reserved keys, `widgetic_exp` (UTC seconds, at most seven days ahead) and `widgetic_sig`. The gateway checks them after the `Origin` and before anything else is judged, stored or announced, and keeps and announces the context WITHOUT them. A context that is not signed as the partner requires is refused with 403 `CONTEXT_SIGNATURE_REQUIRED`, `CONTEXT_SIGNATURE_INVALID` or `CONTEXT_SIGNATURE_EXPIRED`; when the check cannot be made just now the answer is a retryable 503 `CONTEXT_SIGNATURE_UNAVAILABLE`, never an unchecked entry. Until a partner makes a secret nothing changes: the two keys are dropped and the rest is taken as it came. A signature is good until its `widgetic_exp` and may be used again until then, so a partner that must count each submission once keeps a unique value of its own (a `submissionId`, say) in the context. The recipe and a test vector are in the description of `rotatePartnerEntryContextSecret`.
|
|
53
|
+
# @param composition_id
|
|
54
|
+
# @param table
|
|
55
|
+
# @param public_composition_entry_request
|
|
56
|
+
# @param [Hash] opts the optional parameters
|
|
57
|
+
# @option opts [String] :x_widgetic_write_token Signed per-composition write token handed to the widget in `widgetic:host` as `entries.writeToken` (and returned by `GET /embed/compositions/{compositionId}` as `entryWriteToken`). Required when the request comes from the shared Widgetic artifact origin; verified whenever present.
|
|
58
|
+
# @return [PublicCompositionEntryCreated]
|
|
59
|
+
describe 'create_public_composition_entry_0 test' do
|
|
60
|
+
it 'should work' do
|
|
61
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# unit tests for get_public_composition_embed_0
|
|
66
|
+
# Resolve a composition UUID to a published widget URL
|
|
67
|
+
# Public customer embed lookup. No API key. Used by embed-sdk.js on third-party sites. If the composition's owner listed the websites it may appear on (the workspace's domain list, or the `allowedDomains` of a partner the owner administers), a request from any other website is refused with 403 `DOMAIN_NOT_ALLOWED`. The website is read from the `Origin` header, or the host of `Referer` when there is no `Origin`; a request that names neither (a server, a tool) is not refused. An owner who listed nothing is 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 widgets of that partner: a partner's list never has to name it. The list stops other websites from showing the embed in a visitor's browser; it does not hide the published content from someone who holds the composition ID. **Address.** `https://api.widgetic.com/embed/compositions/{compositionId}`: the root of the API host, NOT under `/v1`. A client generated from this description for `https://api.widgetic.com/v1` must be given the base address `https://api.widgetic.com` for the calls of the `Public Embed` tag. **Limit.** 500 calls for each visitor address and browser in one counting window, shared with the frame and the status routes. Over it the answer is 429 `RATE_LIMITED` with a `Retry-After` header.
|
|
68
|
+
# @param composition_id
|
|
69
|
+
# @param [Hash] opts the optional parameters
|
|
70
|
+
# @return [GetPublicCompositionEmbed200Response]
|
|
71
|
+
describe 'get_public_composition_embed_0 test' do
|
|
72
|
+
it 'should work' do
|
|
73
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# unit tests for get_public_composition_iframe_0
|
|
78
|
+
# Embed a published composition with its saved values
|
|
79
|
+
# Public HTML wrapper with an inner published artifact iframe. No API key or SDK required. If the composition's owner listed the websites it may appear on, the page is sent with `Content-Security-Policy: frame-ancestors` naming those websites (and Widgetic's own, and the website where the partner the owner administers integrates Widgetic, with its subdomains), so a browser refuses to show it inside any other website whatever `Referer` policy that website uses. Opening the address directly still works. An owner who listed nothing is not restricted. **Address.** `https://api.widgetic.com/embed/compositions/{compositionId}/frame`: the root of the API host, NOT under `/v1`. A client generated from this description for `https://api.widgetic.com/v1` must be given the base address `https://api.widgetic.com` for the calls of the `Public Embed` tag.
|
|
80
|
+
# @param composition_id
|
|
81
|
+
# @param [Hash] opts the optional parameters
|
|
82
|
+
# @return [String]
|
|
83
|
+
describe 'get_public_composition_iframe_0 test' do
|
|
84
|
+
it 'should work' do
|
|
85
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# unit tests for post_public_composition_embed_status_0
|
|
90
|
+
# Batch-check whether compositions are currently served for embed
|
|
91
|
+
# Public batch health check for embed-sdk.js. No API key. Uses the same serving gate and domain policy as `GET /embed/compositions/{compositionId}`: the caller's website is read from `Origin`, or the host of `Referer` when there is no `Origin`. A request that names neither (a server or tool) is not refused for domain reasons. **Address.** `https://api.widgetic.com/embed/compositions/status`: the root of the API host, NOT under `/v1`. A client generated from this description for `https://api.widgetic.com/v1` must be given the base address `https://api.widgetic.com` for the calls of the `Public Embed` tag. **Limit.** The route counts against the same limit as the lookup and the frame routes: 500 calls for each visitor address and browser in one counting window. A call is ONE hit whatever the number of `ids` it carries (up to 100), so a server that checks many compositions spends one call for each hundred of them. A visitor who is over the limit gets 429 `RATE_LIMITED` for the WHOLE call, with a `Retry-After` header and no state for any id: there is no per-composition rate-limit state in the answer.
|
|
92
|
+
# @param post_public_composition_embed_status_request
|
|
93
|
+
# @param [Hash] opts the optional parameters
|
|
94
|
+
# @return [PostPublicCompositionEmbedStatus200Response]
|
|
95
|
+
describe 'post_public_composition_embed_status_0 test' do
|
|
96
|
+
it 'should work' do
|
|
97
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# unit tests for upload_public_composition_adapter_file_0
|
|
102
|
+
# Send the file a visitor chose through the upload adapter of a published widget
|
|
103
|
+
# The second of the two calls the `upload` adapter's module makes from the visitor's browser (the first, the `begin-upload` operation of `callPublicCompositionAdapter`, answers with the ticket this route takes). The module sends the file itself, as the body, with its media type as the `Content-Type`. It is not meant to be called by hand, and it takes no API key. **Address.** `https://api.widgetic.com/embed/compositions/{compositionId}/adapters/upload/files/{ticket}`: the root of the API host, NOT under `/v1`. A client generated from this description for `https://api.widgetic.com/v1` must be given the base address `https://api.widgetic.com` for the calls of the `Public Embed` tag. **The ticket.** Single-use and valid for ten minutes, given for one file: its name, its media type and its exact size are what the visitor said when the ticket was asked for, after the widget's owner's settings (the kinds of file they take, the largest size) were applied. The `Content-Type` and the `Content-Length` of this request must be those, and the body must be exactly that many bytes (400 `UPLOAD_FILE_CHANGED` otherwise). The gateway never believes the type it was told: the first bytes of the file must be a file of that type and one the owner accepts (422 otherwise). A ticket whose file was stored and is sent again is answered with the same file, so a visitor whose connection dropped after the file landed does not store it twice; a ticket whose attempt failed is spent, and the module asks for a new one. **What it stores.** The file goes to the widget owner's storage: Widgetic's, or the partner's own bucket for a widget of a customer a partner manages. It counts against the owner's storage allowance and is filed in the folder the owner chose, as a file sent by a visitor, which the owner's own file list leaves out. A full allowance, a partner's storage that cannot be used and a stopped feature are all the same 503 `UPLOAD_UNAVAILABLE` to a visitor, and the owner is told through a notice. **Who may call.** The same rule as the entry route: a permitted `Origin` header, which is the artifact origin the widget runs from or a website the owner allowed (or the owner's own platform). A request without a permitted `Origin` is 403 `ORIGIN_NOT_ALLOWED`. A composition that is not served (unpublished, or its owner's plan does not serve it) is 404, with the codes of the other public embed routes. **Limits.** 30 requests a minute for each visitor address and composition and 240 a minute for a composition (429 `RATE_LIMITED`, with a `Retry-After` header); at most 10 MB for a file, and only so many files held in memory at once on each gateway process (503 `UPLOAD_BUSY`, with a `Retry-After`). A file that does not arrive within two minutes is 408 `UPLOAD_TIMEOUT`. Every answer but a success closes the connection, so a client that is refused before it has sent the file reads the answer and stops.
|
|
104
|
+
# @param composition_id
|
|
105
|
+
# @param ticket The ticket the `begin-upload` operation answered with.
|
|
106
|
+
# @param body
|
|
107
|
+
# @param [Hash] opts the optional parameters
|
|
108
|
+
# @return [PublicAdapterFileResult]
|
|
109
|
+
describe 'upload_public_composition_adapter_file_0 test' do
|
|
110
|
+
it 'should work' do
|
|
111
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Widgetic API Gateway
|
|
3
|
+
|
|
4
|
+
#API documentation for the Widgetic API Gateway
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for ApiSdkRb::TokensApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'TokensApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = ApiSdkRb::TokensApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of TokensApi' do
|
|
30
|
+
it 'should create an instance of TokensApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(ApiSdkRb::TokensApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for validate_token_0
|
|
36
|
+
# Validate current authentication token
|
|
37
|
+
# @param [Hash] opts the optional parameters
|
|
38
|
+
# @return [ValidateToken200Response]
|
|
39
|
+
describe 'validate_token_0 test' do
|
|
40
|
+
it 'should work' do
|
|
41
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Widgetic API Gateway
|
|
3
|
+
|
|
4
|
+
#API documentation for the Widgetic API Gateway
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for ApiSdkRb::UploadsApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'UploadsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = ApiSdkRb::UploadsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of UploadsApi' do
|
|
30
|
+
it 'should create an instance of UploadsApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(ApiSdkRb::UploadsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for uploads_get_0
|
|
36
|
+
# List the account's uploads
|
|
37
|
+
# The files the account has uploaded, newest first. Deleted files are not listed. Returns at most `limit` files and has no further pages: a client that needs more narrows the list instead, for example to one managed user's files with `managedUserId` or `managedUserExternalId`. The files that visitors sent through a widget's upload adapter (`source` is `widget-visitor-upload`) are not part of this list, so that a popular widget does not push the account's own files out of it; naming one widget with `widgetId` lists what visitors sent to that widget as well.
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @option opts [Integer] :limit Maximum number of files to return
|
|
40
|
+
# @option opts [String] :managed_user_id List only the files uploaded for this managed user (Widgetic's id for the user). Send this or `managedUserExternalId`, not both.
|
|
41
|
+
# @option opts [String] :managed_user_external_id List only the files uploaded for the managed user you registered with this `externalId` (your own identifier for the user). Send this or `managedUserId`, not both.
|
|
42
|
+
# @return [UploadsGet200Response]
|
|
43
|
+
describe 'uploads_get_0 test' do
|
|
44
|
+
it 'should work' do
|
|
45
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# unit tests for uploads_id_delete_0
|
|
50
|
+
# Delete an upload
|
|
51
|
+
# Removes the stored file and the upload row. A file in Widgetic's own storage gives back the space it took from your storage allowance; a file in your own bucket is removed from your bucket. Deleting an upload that is already gone succeeds the same way as the first delete. An upload that belongs to another account is not found. If the storage cannot be reached the call fails and nothing is marked deleted, so it can be repeated.
|
|
52
|
+
# @param id
|
|
53
|
+
# @param [Hash] opts the optional parameters
|
|
54
|
+
# @return [UploadsIdDelete200Response]
|
|
55
|
+
describe 'uploads_id_delete_0 test' do
|
|
56
|
+
it 'should work' do
|
|
57
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# unit tests for uploads_id_get_0
|
|
62
|
+
# Get an upload by id
|
|
63
|
+
# The details of one of the account's uploads. An upload that belongs to another account is not found.
|
|
64
|
+
# @param id The upload to read
|
|
65
|
+
# @param [Hash] opts the optional parameters
|
|
66
|
+
# @return [UploadResponse]
|
|
67
|
+
describe 'uploads_id_get_0 test' do
|
|
68
|
+
it 'should work' do
|
|
69
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# unit tests for uploads_limits_get_0
|
|
74
|
+
# Upload size limits and accepted file types
|
|
75
|
+
# The size limit and the accepted file types of the upload endpoints. Read them from here rather than hard-coding thresholds: they are configuration and can change. The limits are the same for every account, whatever its plan: `multipart_max_bytes` for a file sent in one request (10 MB) and `tus_max_bytes` for a resumable upload (250 MB).
|
|
76
|
+
# @param [Hash] opts the optional parameters
|
|
77
|
+
# @return [UploadLimitsResponse]
|
|
78
|
+
describe 'uploads_limits_get_0 test' do
|
|
79
|
+
it 'should work' do
|
|
80
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# unit tests for uploads_post_0
|
|
85
|
+
# Upload a file
|
|
86
|
+
# Stores one file for the account and returns its public address. This is how a user's own images, video and PDFs reach a widget's content. Send a `multipart/form-data` request with the file in the field named `file`. The file counts against the storage of the workspace it is uploaded in, and a full workspace is refused with 413 and `QUOTA_STORAGE_EXCEEDED`. For a person signed in on widgetic.com that is the workspace they are currently working in: inside a team, the team's shared storage; inside their own workspace, their own allowance. An organization API key, and a Shopify store's session, always work in that team's shared storage. A personal API key or an SDK token always uses the account's own allowance. The two never add up and one never lends room to the other. A file over the size limit is refused with 413 and `UPLOAD_TOO_LARGE`, and a type that is not accepted with 415 and `UPLOAD_UNSUPPORTED_TYPE`; `uploadsLimitsGet` lists the size limit and the accepted types. A file is judged by what is in it, not by the type it is sent as. A file that is not the type it claims (a web page sent as `image/png`) is refused with 415 and `UPLOAD_UNSUPPORTED_TYPE`, and a picture sent under the wrong picture type is stored under the type it really is, which `mime_type` in the answer says. An SVG is rewritten as it is stored: script, `foreignObject`, animation and references to other addresses are taken out, it must be UTF-8 and at most 2 MB, and the stored file can be larger or smaller than the one sent. Anything that is not an image, audio or video (a PDF, for example) is served as a download rather than shown in a page. When the full storage is a Shopify store's team's, extra storage cannot be added through Shopify yet, so the message ends by saying so and what to do instead: delete files, or contact support. On a Solo plan it names the Teams plan (which holds more) and `error.details.planPageUrl` is the address of the plan page on Shopify. `error.suggestedAction` says the same in a few words, instead of the usual \"upgrade your storage plan\". Any other team, and a person's own workspace, get the shorter message. To upload the file for one of your managed users, send `managedUserId` (Widgetic's id for the user) or `managedUserExternalId` (your own identifier for the user), not both. The file stays in your account and counts against its allowance; the tag lets you list one user's files with `uploadsGet`. The managed user must be yours and active: one that is not yours, or does not exist, is refused with 404 and `MANAGED_USER_NOT_FOUND`, and one that is switched off with 409 and `MANAGED_USER_INACTIVE`, before the file is stored. The tag is set here and does not change afterwards. Called with an editor session (`createManagedUserEditorSession`), the file is always filed for the session's own managed user and is always media for widget content: naming another managed user is refused with 403 and `MANAGED_USER_SESSION_MISMATCH`, and `contextType`, `source`, `widgetId` and `conversationId` are ignored. A full storage allowance is refused with the same 413 and `QUOTA_STORAGE_EXCEEDED`, but the message only says that it is not available right now (not how much is stored: that is the partner's business) and `error.details.limit` is `storage`. An account that administers a partner with a storage destination (`setPartnerStorageDestination`) has its files stored in the partner's own bucket instead. Such a file takes none of the allowance, its `url` is served from the partner's public address, and its `storage_key` is the key in the partner's bucket. The file is never stored with Widgetic instead: when the destination cannot be used the upload is refused with 503 and `STORAGE_DESTINATION_UNAVAILABLE`, and when the partner's storage rejects the file with 502 and `STORAGE_DESTINATION_WRITE_FAILED`. Partner storage is not optional, and it does not depend on how the file arrives. A partner's own uploads (with its API key, an SDK token, or from the Widgetic website, the resumable route and the media library alike) and the uploads of its customers' editor sessions are kept in the partner's own storage or not at all, so a partner with no destination (or one that removed it after the session was made) has them refused with 409 and `PARTNER_STORAGE_REQUIRED`; they are never stored with Widgetic. An editor session's browser is only told that the feature is not available right now.
|
|
87
|
+
# @param file The file to store
|
|
88
|
+
# @param [Hash] opts the optional parameters
|
|
89
|
+
# @option opts [String] :context_type What the file is for. Send `content-property` for media that becomes widget content (images, video and PDF); the other values are used by Widgetic's own editor.
|
|
90
|
+
# @option opts [String] :source Which part of the product, or which client, the file comes from
|
|
91
|
+
# @option opts [String] :managed_user_id Upload the file for one of your managed users, by Widgetic's id for the user. Send this or `managedUserExternalId`, not both.
|
|
92
|
+
# @option opts [String] :managed_user_external_id The same, by your own identifier for the user, the `externalId` you gave when you created the managed user. Send this or `managedUserId`, not both.
|
|
93
|
+
# @option opts [String] :purpose Where in your product you use the file. It is kept with the file, so that a customer's storage can be counted by purpose (`getManagedUserStorageUsage`). Optional; any other value is refused with 400 and `UPLOAD_INVALID_PURPOSE`.
|
|
94
|
+
# @return [UploadResponse]
|
|
95
|
+
describe 'uploads_post_0 test' do
|
|
96
|
+
it 'should work' do
|
|
97
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
end
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Widgetic API Gateway
|
|
3
|
+
|
|
4
|
+
#API documentation for the Widgetic API Gateway
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for ApiSdkRb::UsersApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'UsersApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = ApiSdkRb::UsersApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of UsersApi' do
|
|
30
|
+
it 'should create an instance of UsersApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(ApiSdkRb::UsersApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for add_personal_workspace_domain_0
|
|
36
|
+
# Allow a website to show your widgets
|
|
37
|
+
# Adds a website to an account's own list. Give a website name such as `example.com`, or `*.example.com` for a website and all of its subdomains. A scheme, a port, a path, capital letters and a leading `www.` are dropped, so `https://www.Example.com/shop` is kept as `example.com`, and `example.com` covers `www.example.com` too. Something that is not a website name is refused, not stored. Until the first website is added nothing is restricted, and a widget can be shown anywhere. Once the list has one, a widget of the account is shown on the listed websites (and on Widgetic's own) and nowhere else. A page on your own machine (`localhost`, `127.0.0.1` or `[::1]`, on any port) is always allowed, so there is nothing to add to test locally. So is the website where a partner your account administers integrates Widgetic, with every subdomain of it (`platformDomain` in the answer of `GET /partners/mine`), so there is nothing to add for it either and a list can never lock it out. A change can take about 15 seconds to reach every server. The list is a safeguard against other websites showing your widgets in a visitor's browser. It is not access control: anyone who knows a widget's id can still fetch its published content with a plain request that names no website. There is no limit on the list of an account that administers a partner, so a partner can add the website of each of its customers as they publish on their own domain, one call each. Any other account can list at most 50 websites, and the 51st is answered with a 409 (`BUSINESS_STATE_CONFLICT`). A wildcard such as `*.example.com` counts as one website, not one per subdomain, so use it instead of listing each subdomain. A page that frames a widget can name only so many websites to the browser (about fifty of ordinary length). Past that, the browser no longer checks the list for that page; the lookup that the Embed SDK makes for the widget still refuses every website that is not on the list.
|
|
38
|
+
# @param id The account the list belongs to. For your own, your own user id
|
|
39
|
+
# @param add_domain_request
|
|
40
|
+
# @param [Hash] opts the optional parameters
|
|
41
|
+
# @return [PersonalWorkspaceDomainResultResponse]
|
|
42
|
+
describe 'add_personal_workspace_domain_0 test' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# unit tests for create_user_api_key_0
|
|
49
|
+
# Create an API key
|
|
50
|
+
# Makes a new API key for an account and returns its secret in `key`. That is the only time the secret is shown: Widgetic keeps a hash, so a key that was not stored cannot be recovered, only replaced. To rotate a key, make the new one, switch the integration over to it, then delete the old one. Only a person signed in on widgetic.com can make a key: a request made with an API key, or with an SDK token, is refused with 403. That way a leaked key cannot be used to make a second one that survives its revocation. Make keys from the dashboard; a key can still list, rename, switch off and delete keys. An `Idempotency-Key` header is required (8 to 50 characters: letters, digits, `-` and `_`). A retry with the same header and the same body returns the same answer instead of making a second key, and the same header with a different body is refused with 422. Make keys one at a time: two requests for the same account that run at the same moment can overwrite each other. A key can be limited to what it needs. Send a `preset` (`read_only`, `content` or `full_access`) or a list of `scopes`, never both. Send neither for a key that can do everything its owner can, as every key made before scopes existed. A limited key is refused with 403 and the code `API_KEY_SCOPE_MISSING` on anything outside its scopes, so a key held by a build server or by a partner's backend can be given only the part of the API it uses. The scopes of a key are fixed when it is made: to widen one, make a new key and delete the old one. A limited key cannot make, change or delete keys, exchange tokens or reach the administration routes. The list of scopes is in the `ApiKeyScope` schema. Accounts with API access (Solo, Teams and partner accounts) have no limit on how many keys they hold. An account on a plan without API access cannot make one (a partner account is not asked about a plan).
|
|
51
|
+
# @param id The account the key is for. For your own, your own user id
|
|
52
|
+
# @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
|
|
53
|
+
# @param create_user_api_key_request
|
|
54
|
+
# @param [Hash] opts the optional parameters
|
|
55
|
+
# @return [CreatedUserApiKeyResponse]
|
|
56
|
+
describe 'create_user_api_key_0 test' do
|
|
57
|
+
it 'should work' do
|
|
58
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# unit tests for delete_personal_workspace_domain_0
|
|
63
|
+
# Stop allowing a website to show your widgets
|
|
64
|
+
# Removes one entry from an account's own list. When it was the last one, nothing is restricted any more and a widget can be shown anywhere again. A change can take about 15 seconds to reach every server.
|
|
65
|
+
# @param id The account the list belongs to. For your own, your own user id
|
|
66
|
+
# @param domain_id The `id` of the entry, as the list shows it
|
|
67
|
+
# @param [Hash] opts the optional parameters
|
|
68
|
+
# @return [DeletePersonalWorkspaceDomainResponse]
|
|
69
|
+
describe 'delete_personal_workspace_domain_0 test' do
|
|
70
|
+
it 'should work' do
|
|
71
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# unit tests for delete_user_api_key_0
|
|
76
|
+
# Delete an API key
|
|
77
|
+
# Deletes a key and the record of what it was used for. The key stops working at once on the server that took the request and within a minute on the others, and cannot be brought back: make a new one instead. To stop a key without losing it, switch it off with `updateUserApiKey`.
|
|
78
|
+
# @param id The account the key belongs to
|
|
79
|
+
# @param key_id The `keyId` of the key, as the list shows it
|
|
80
|
+
# @param [Hash] opts the optional parameters
|
|
81
|
+
# @return [DeleteUserApiKeyResponse]
|
|
82
|
+
describe 'delete_user_api_key_0 test' do
|
|
83
|
+
it 'should work' do
|
|
84
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# unit tests for get_personal_workspace_domains_0
|
|
89
|
+
# List the websites allowed to show your widgets
|
|
90
|
+
# Lists the websites on an account's own list, newest first. It is the list Widgetic checks when a widget of the account is embedded: when it holds at least one website, the widget is shown on those websites (and on Widgetic's own) and nowhere else; when it is empty, the widget can be shown anywhere. If the account administers a partner, the websites set on the partner record by Widgetic are added to them. Widgets that belong to an organization use the organization's list instead. The answer holds the whole list, however long it is: a partner's list has no limit.
|
|
91
|
+
# @param id The account the list belongs to. For your own, your own user id
|
|
92
|
+
# @param [Hash] opts the optional parameters
|
|
93
|
+
# @return [GetPersonalWorkspaceDomains200Response]
|
|
94
|
+
describe 'get_personal_workspace_domains_0 test' do
|
|
95
|
+
it 'should work' do
|
|
96
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# unit tests for get_user_adapter_connections_0
|
|
101
|
+
# See which adapter keys an account has connected
|
|
102
|
+
# Widget adapters are capabilities a widget can use, and some of them act through a service the owner has an account with: an adapter that sends email needs the owner's email provider key, one that sends texts needs the owner's SMS provider key. This lists every key an adapter takes from an owner and whether this account has connected it, so a settings page can show what is missing. An empty list means no adapter takes a key from an owner at the moment. The list never contains a key: only whether one is connected and when it was last set. Connect a key with `setUserAdapterConnection`; take it away with `removeUserAdapterConnection`. The widgets of customers a partner manages use the partner's keys instead (`getPartnerAdapterConnections`). The caller must be the account itself (an API key of that account works, with the `account:read` scope), or a Widgetic administrator.
|
|
103
|
+
# @param user_id The account whose adapter keys to list. For your own, your own user id
|
|
104
|
+
# @param [Hash] opts the optional parameters
|
|
105
|
+
# @return [GetUserAdapterConnections200Response]
|
|
106
|
+
describe 'get_user_adapter_connections_0 test' do
|
|
107
|
+
it 'should work' do
|
|
108
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# unit tests for get_user_api_key_usage_logs_0
|
|
113
|
+
# Read what an API key was used for
|
|
114
|
+
# Lists the calls made with one key, newest first: when, which path and method, and the status each ended with. Use it to see whether a key is still in use before deleting it, or to see what a key that should not be in use has been doing.
|
|
115
|
+
# @param id The account the key belongs to
|
|
116
|
+
# @param key_id The `keyId` of the key, as the list shows it
|
|
117
|
+
# @param [Hash] opts the optional parameters
|
|
118
|
+
# @option opts [Integer] :limit How many calls to return, newest first
|
|
119
|
+
# @return [GetUserApiKeyUsageLogsResponse]
|
|
120
|
+
describe 'get_user_api_key_usage_logs_0 test' do
|
|
121
|
+
it 'should work' do
|
|
122
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# unit tests for get_user_api_keys_0
|
|
127
|
+
# List the API keys of an account
|
|
128
|
+
# Lists the API keys of an account, in the order they were made: name, the first characters of the key, when it was made, when it expires, when it was last used, whether it is switched on and what it is limited to (`scopes` and `preset`). The secret of a key is never part of the list. A caller can list its own account's keys; Widgetic staff can list any account's.
|
|
129
|
+
# @param id The account the keys belong to. For your own keys, your own user id
|
|
130
|
+
# @param [Hash] opts the optional parameters
|
|
131
|
+
# @return [GetUserApiKeys200Response]
|
|
132
|
+
describe 'get_user_api_keys_0 test' do
|
|
133
|
+
it 'should work' do
|
|
134
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# unit tests for remove_user_adapter_connection_0
|
|
139
|
+
# Remove an adapter key from an account
|
|
140
|
+
# Removes a key an adapter was given. The adapter stops working for the widgets that need it: their visitors are told the feature is unavailable. Nothing else of the widgets changes, and connecting a key again brings them back. Removing a key that is not connected answers 200 with `removed: false`: the state asked for is the state it is in. A key of an adapter that has since been retired from the catalog can still be removed. This needs an API key with full access. The caller must be the account itself or a Widgetic administrator.
|
|
141
|
+
# @param user_id The account that keeps the key. For your own, your own user id
|
|
142
|
+
# @param adapter_id The adapter the key is for
|
|
143
|
+
# @param credential_key The key's name within the adapter
|
|
144
|
+
# @param [Hash] opts the optional parameters
|
|
145
|
+
# @return [RemoveUserAdapterConnection200Response]
|
|
146
|
+
describe 'remove_user_adapter_connection_0 test' do
|
|
147
|
+
it 'should work' do
|
|
148
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
# unit tests for set_user_adapter_connection_0
|
|
153
|
+
# Connect an adapter key to an account
|
|
154
|
+
# Gives an adapter the key it needs to act through a service you have an account with, for the widgets you made. Take the `adapterId` and `credentialKey` from `getUserAdapterConnections`. Saving a key that is already connected replaces it. **What Widgetic does with it.** The key is stored encrypted, bound to this account, this adapter and this credential, so that a stored value cannot be moved to another. It is never returned, never logged and never shown to a visitor of a widget. A server of Widgetic opens it for the one call a widget makes through the adapter, uses it to call the provider on your behalf, and discards it. To cut that off, remove the key here, or revoke it with the provider. **What is checked.** That the adapter exists and takes this credential, that an owner may keep it (some are for a partner only) and that the text is one line of at most 2048 characters. Whether the provider accepts the key is not checked here: it shows the first time a widget uses it, and the widget tells its owner. A widget whose adapter has no key connected is not charged and does not run that adapter: its visitors are told the feature is unavailable, and the owner is told once a day what to connect. This needs an API key with full access. The caller must be the account itself or a Widgetic administrator. A retry is harmless: saving the same key twice only refreshes when it was set.
|
|
155
|
+
# @param user_id The account that keeps the key. For your own, your own user id
|
|
156
|
+
# @param adapter_id The adapter the key is for
|
|
157
|
+
# @param credential_key The key's name within the adapter
|
|
158
|
+
# @param set_adapter_connection_request
|
|
159
|
+
# @param [Hash] opts the optional parameters
|
|
160
|
+
# @return [SetUserAdapterConnection200Response]
|
|
161
|
+
describe 'set_user_adapter_connection_0 test' do
|
|
162
|
+
it 'should work' do
|
|
163
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# unit tests for update_personal_workspace_domain_0
|
|
168
|
+
# Change a website on your list
|
|
169
|
+
# Replaces the website of one entry on an account's own list. The same rules apply as when adding one (`addPersonalWorkspaceDomain`): a website name such as `example.com` or `*.example.com`, kept in its cleaned form, and refused when it is not a website name or is already on the list.
|
|
170
|
+
# @param id The account the list belongs to. For your own, your own user id
|
|
171
|
+
# @param domain_id The `id` of the entry, as the list shows it
|
|
172
|
+
# @param update_domain_request
|
|
173
|
+
# @param [Hash] opts the optional parameters
|
|
174
|
+
# @return [PersonalWorkspaceDomainResultResponse]
|
|
175
|
+
describe 'update_personal_workspace_domain_0 test' do
|
|
176
|
+
it 'should work' do
|
|
177
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
# unit tests for update_user_api_key_0
|
|
182
|
+
# Rename an API key, or switch it off or on
|
|
183
|
+
# Renames a key, or switches it off (`isActive: false`) or back on. A key that is switched off is refused at once by the server that took the request and within a minute by the others, and can be switched on again; deleting is for a key that is not coming back. The secret, the expiry and the scopes of a key cannot be changed. Only a key with full access can make these requests: a key limited to some scopes is refused with 403 and the code `API_KEY_SCOPE_MISSING`. Renaming and switching off can be done with an API key. Switching a key on needs a person signed in on widgetic.com: a request that asks for it with an API key or an SDK token is refused with 403, so a leaked key cannot bring a dormant key back to life.
|
|
184
|
+
# @param id The account the key belongs to
|
|
185
|
+
# @param key_id The `keyId` of the key, as the list shows it
|
|
186
|
+
# @param update_user_api_key_request
|
|
187
|
+
# @param [Hash] opts the optional parameters
|
|
188
|
+
# @return [UserApiKeyResponse]
|
|
189
|
+
describe 'update_user_api_key_0 test' do
|
|
190
|
+
it 'should work' do
|
|
191
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Widgetic API Gateway
|
|
3
|
+
|
|
4
|
+
#API documentation for the Widgetic API Gateway
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for ApiSdkRb::WidgetsApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'WidgetsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = ApiSdkRb::WidgetsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of WidgetsApi' do
|
|
30
|
+
it 'should create an instance of WidgetsApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(ApiSdkRb::WidgetsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for create_composition_from_widget_0
|
|
36
|
+
# Create a composition for a widget in one call
|
|
37
|
+
# After a managed user publishes a widget from the creator, call this with the widget id, the customer's managed user (when the widget is not already filed under one), and optional content, design, embed settings and locale. Every input is validated before a single insert; a failure never leaves a half-made composition. When the widget is already tagged with a managed user, you may omit `managedUserId`. When you send it, it must match that tag. A widget that keeps what visitors send (a form, a vote, a rating) declares its tables in its own source (`src/lib/meta/database.json`); they are made for the composition here, in a schema of its own, as the widget was when it was last published. A widget that keeps nothing leaves the composition without tables. If the tables cannot be made just now, or the widget's file cannot be used, the composition is still created (`201`) and `meta.warnings` says why; the tables are made the next time the widget is generated. The widget must be published. The `Idempotency-Key` header is required.
|
|
38
|
+
# @param id The widget id
|
|
39
|
+
# @param idempotency_key Required: a call without it is refused with `400`. A key of your own that names this one request; a UUID is ideal. It is 8 to 50 characters of letters, digits, `-` and `_`. Send the same key again when you retry (after a timeout, a dropped connection or a `5xx`) and the call is carried out once: the retry gets the first answer back, marked `X-Idempotency-Cached: true`. The same key with a different body is refused with `422`, and a retry that arrives while the first call is still running with `409` (see `Retry-After`).
|
|
40
|
+
# @param create_composition_from_widget_request
|
|
41
|
+
# @param [Hash] opts the optional parameters
|
|
42
|
+
# @return [CreateCompositionFromWidget201Response]
|
|
43
|
+
describe 'create_composition_from_widget_0 test' do
|
|
44
|
+
it 'should work' do
|
|
45
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# unit tests for create_widget_0
|
|
50
|
+
# Create Widget
|
|
51
|
+
# Creates a widget for your account: a named record with a type and some starting content, on a canvas of its own (or one of yours that you name). It costs no credits and has no code yet; the code is generated for it afterwards. The new widget is yours, and you can list it with `getWidgets`. A widget is a draft until you say otherwise (`isDraft: false`). If a step after the widget was saved does not go through, the widget is still created, and `data.warnings` says what did not. Read it before relying on the widget. A widget can be placed on one of your canvases (`canvasId`), in a project you can edit (`projectId`) or in an organization where you may create widgets (`organizationId`). Naming anything you cannot use is refused with 403, and the answer is the same whether it exists or not. To make the widget for one of your managed users, send `managedUserId` or `managedUserExternalId`. The widget stays in your account and is yours to edit; the tag lets you list one user's widgets with `getWidgets`. 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. This call has a limit of its own: 120 per minute for each account (ask Widgetic if you need more). Past that the call is answered with 429 and a `Retry-After`. A widget has no database of its own: what the visitors of a composition leave is kept in the tables of that composition, made when the composition is. The `Idempotency-Key` header is required; send the same key when you retry, so one widget is created, not two.
|
|
52
|
+
# @param idempotency_key A unique value (a UUID is fine) that makes a retry of this request safe.
|
|
53
|
+
# @param new_widget
|
|
54
|
+
# @param [Hash] opts the optional parameters
|
|
55
|
+
# @return [CreateWidget201Response]
|
|
56
|
+
describe 'create_widget_0 test' do
|
|
57
|
+
it 'should work' do
|
|
58
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# unit tests for get_widgets_0
|
|
63
|
+
# List Widgets
|
|
64
|
+
# Lists the widgets your account owns, newest first. A widget is the reusable piece a composition is made from; this is your own library, not a catalogue of Widgetic's widgets. Pass `page` (counting from 1) and `size` (1 to 100, 20 when left out) to read the list one page at a time. `meta` then carries `total`, `hasNextPage` and `hasPreviousPage`, so a client can walk the list to its end. A page past the end is an empty list. Without `page` and `size` the call returns the whole list in one response, which only suits an account with a few widgets. Pass `canvasId` to list only the widgets on one of your canvases. That list is always returned whole, whatever `page` and `size` say. Pass `managedUserId` (Widgetic's id for one of your managed users) or `managedUserExternalId` (your own identifier for the user) to list only the widgets made for that managed user. The widgets of your other managed users, and your own, are left out. It combines with `page`, `size` and `canvasId`. A managed user that is not yours, or does not exist, is answered with 404 and `MANAGED_USER_NOT_FOUND`.
|
|
65
|
+
# @param [Hash] opts the optional parameters
|
|
66
|
+
# @option opts [Integer] :page Page to return, counting from 1. Giving `page` or `size` turns paging on.
|
|
67
|
+
# @option opts [Integer] :size How many widgets a page holds (20 when `page` is given without it). Giving `page` or `size` turns paging on.
|
|
68
|
+
# @option opts [String] :canvas_id List only the widgets on this canvas. The list is returned whole.
|
|
69
|
+
# @option opts [String] :managed_user_id List only the widgets made for this managed user (Widgetic's id for the user). Send this or `managedUserExternalId`, not both.
|
|
70
|
+
# @option opts [String] :managed_user_external_id List only the widgets made for the managed user you registered with this `externalId` (your own identifier for the user). Send this or `managedUserId`, not both.
|
|
71
|
+
# @return [GetWidgets200Response]
|
|
72
|
+
describe 'get_widgets_0 test' do
|
|
73
|
+
it 'should work' do
|
|
74
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# unit tests for get_widgets_batch_0
|
|
79
|
+
# Get Widgets Batch
|
|
80
|
+
# Retrieves multiple widgets by their IDs in a single request. An id that is not found, or that is not yours, is reported in `errors` exactly like one that does not exist. Called with an editor session, only the widgets made for the session's managed user are returned.
|
|
81
|
+
# @param get_widgets_batch_request
|
|
82
|
+
# @param [Hash] opts the optional parameters
|
|
83
|
+
# @return [GetWidgetsBatchResponse]
|
|
84
|
+
describe 'get_widgets_batch_0 test' do
|
|
85
|
+
it 'should work' do
|
|
86
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Widgetic API Gateway
|
|
3
|
+
|
|
4
|
+
#API documentation for the Widgetic API Gateway
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.9.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for ApiSdkRb::AccountCreditBalanceResponse
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe ApiSdkRb::AccountCreditBalanceResponse do
|
|
21
|
+
let(:instance) { ApiSdkRb::AccountCreditBalanceResponse.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AccountCreditBalanceResponse' do
|
|
24
|
+
it 'should create an instance of AccountCreditBalanceResponse' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(ApiSdkRb::AccountCreditBalanceResponse)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "success"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "data"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "meta"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|