From 4bb0409e932329ff75e4965d5f5cb0555f8d4f3a Mon Sep 17 00:00:00 2001 From: chrisdengso <8185683+chrisdengso@users.noreply.github.com> Date: Thu, 22 Oct 2026 11:31:30 +0000 Subject: [PATCH] feat!: regenerate from OpenAPI spec with Speakeasy --- .gitattributes | 18 +- .github/workflows/ci.yml | 65 +- .github/workflows/publish-packagist.yml | 16 +- .github/workflows/release-doctor.yml | 22 - .gitignore | 21 +- .php-cs-fixer.dist.php | 19 - .phpactor.json | 6 - .release-please-manifest.json | 3 - .speakeasy/gen.lock | 2272 ++++++ .speakeasy/gen.yaml | 63 + .stats.yml | 4 - CONTRIBUTING.md | 26 + README.md | 598 +- SECURITY.md | 27 - USAGE.md | 36 + bin/check-release-environment | 25 - composer.json | 77 +- composer.lock | 7054 ----------------- .../Components/AuthenticationErrorCode.md | 18 + docs/Models/Components/BadRequestErrorCode.md | 14 + docs/Models/Components/Block.md | 9 + docs/Models/Components/Channel.md | 28 + docs/Models/Components/ConflictErrorCode.md | 12 + docs/Models/Components/ContentType.md | 18 + docs/Models/Components/ErrorIssue.md | 10 + docs/Models/Components/FlaggingMode.md | 11 + .../Components/InternalServerErrorCode.md | 12 + docs/Models/Components/Metadata.md | 14 + docs/Models/Components/Metrics.md | 10 + docs/Models/Components/NotFoundErrorCode.md | 26 + docs/Models/Components/Pagination.md | 14 + docs/Models/Components/Path.md | 23 + .../Components/PermissionDeniedErrorCode.md | 28 + docs/Models/Components/Project.md | 17 + .../Components/ProjectGlobalFlaggingMode.md | 11 + docs/Models/Components/ProjectWithKey.md | 18 + .../ProjectWithKeyGlobalFlaggingMode.md | 11 + docs/Models/Components/PublicAuthor.md | 23 + docs/Models/Components/RateLimitErrorCode.md | 12 + docs/Models/Components/RiskEvaluation.md | 8 + docs/Models/Components/Security.md | 8 + docs/Models/Components/Status.md | 12 + .../Models/Components/TranscriptionQuality.md | 12 + docs/Models/Components/TrustLevel.md | 9 + docs/Models/Errors/AuthenticationError.md | 16 + docs/Models/Errors/BadRequestError.md | 16 + docs/Models/Errors/ConflictError.md | 16 + docs/Models/Errors/InternalServerError.md | 16 + docs/Models/Errors/NotFoundError.md | 16 + docs/Models/Errors/PermissionDeniedError.md | 16 + docs/Models/Errors/RateLimitError.md | 16 + docs/Models/Operations/ActionRequest.md | 12 + docs/Models/Operations/ActionStat.md | 11 + .../Operations/AddWordlistWordsRequest.md | 9 + .../Operations/AddWordlistWordsRequestBody.md | 8 + .../Operations/AddWordlistWordsResponse.md | 11 + .../AddWordlistWordsResponseBody.md | 12 + docs/Models/Operations/Adult.md | 10 + docs/Models/Operations/Alcohol.md | 10 + docs/Models/Operations/AudioRequest.md | 11 + docs/Models/Operations/AudioResponse.md | 11 + docs/Models/Operations/Author.md | 12 + docs/Models/Operations/AuthorStatus.md | 12 + docs/Models/Operations/Behavior.md | 11 + docs/Models/Operations/Block.md | 9 + docs/Models/Operations/BrandImpersonation.md | 9 + docs/Models/Operations/Cannabis.md | 10 + docs/Models/Operations/Casebook.md | 13 + docs/Models/Operations/CasebookAgreement.md | 10 + docs/Models/Operations/CasebookAnswer.md | 11 + .../Models/Operations/ChannelCircumvention.md | 10 + docs/Models/Operations/CheckStatus.md | 10 + docs/Models/Operations/ClassifierOutput.md | 16 + docs/Models/Operations/ClientAction.md | 13 + docs/Models/Operations/CodeAbuse.md | 10 + docs/Models/Operations/Comparator.md | 11 + docs/Models/Operations/CompassionInsight.md | 13 + docs/Models/Operations/ContentLeafRequest.md | 41 + docs/Models/Operations/ContentLeafResponse.md | 41 + docs/Models/Operations/ContentRequest.md | 52 + docs/Models/Operations/ContentResponse.md | 14 + .../Operations/CreateActionPositionRequest.md | 12 + .../CreateActionPositionResponse.md | 12 + .../CreateActionPossibleValueRequest.md | 8 + .../CreateActionPossibleValueResponse.md | 8 + .../CreateActionQueueBehaviourRequest.md | 12 + .../CreateActionQueueBehaviourResponse.md | 12 + docs/Models/Operations/CreateActionRequest.md | 18 + .../Models/Operations/CreateActionResponse.md | 11 + .../Operations/CreateActionResponseBody.md | 22 + .../Operations/CreateActionTypeRequest.md | 17 + .../Operations/CreateActionTypeResponse.md | 17 + .../Models/Operations/CreateAuthorMetadata.md | 14 + docs/Models/Operations/CreateAuthorRequest.md | 17 + .../Models/Operations/CreateAuthorResponse.md | 11 + .../Operations/CreateChannelContentType.md | 18 + .../Models/Operations/CreateChannelRequest.md | 9 + .../Operations/CreateChannelRequestBody.md | 11 + .../Operations/CreateChannelResponse.md | 11 + .../Models/Operations/CreateProjectRequest.md | 12 + .../Operations/CreateProjectResponse.md | 11 + .../CreateWebhookEventTypeRequest.md | 18 + .../CreateWebhookEventTypeResponse.md | 18 + .../Operations/CreateWebhookPayloadVersion.md | 11 + .../Models/Operations/CreateWebhookRequest.md | 11 + .../Operations/CreateWebhookResponse.md | 11 + .../Operations/CreateWebhookResponseBody.md | 16 + docs/Models/Operations/Crypto.md | 10 + docs/Models/Operations/CuriosityInsight.md | 13 + docs/Models/Operations/CurrentProject.md | 9 + docs/Models/Operations/DailyReviewCount.md | 9 + docs/Models/Operations/DataAudio.md | 11 + docs/Models/Operations/DataImage.md | 12 + docs/Models/Operations/DataText.md | 11 + docs/Models/Operations/DataVideo.md | 11 + docs/Models/Operations/DeleteActionRequest.md | 8 + .../Models/Operations/DeleteActionResponse.md | 11 + .../Operations/DeleteActionResponseBody.md | 11 + docs/Models/Operations/DeleteAuthorRequest.md | 8 + .../Models/Operations/DeleteAuthorResponse.md | 11 + .../Operations/DeleteAuthorResponseBody.md | 10 + .../Models/Operations/DeleteChannelRequest.md | 8 + .../Operations/DeleteChannelResponse.md | 11 + .../Operations/DeleteChannelResponseBody.md | 11 + .../Models/Operations/DeleteProjectRequest.md | 8 + .../Operations/DeleteProjectResponse.md | 11 + .../Operations/DeleteProjectResponseBody.md | 11 + .../Models/Operations/DeleteWebhookRequest.md | 8 + .../Operations/DeleteWebhookResponse.md | 11 + .../Operations/DeleteWebhookResponseBody.md | 11 + docs/Models/Operations/Drugs.md | 10 + .../Operations/DuplicateChannelRequest.md | 9 + .../Operations/DuplicateChannelRequestBody.md | 9 + .../Operations/DuplicateChannelResponse.md | 11 + .../Operations/DuplicateProjectRequest.md | 9 + .../Operations/DuplicateProjectRequestBody.md | 8 + .../Operations/DuplicateProjectResponse.md | 11 + docs/Models/Operations/Entities1.md | 12 + docs/Models/Operations/Entities2.md | 12 + docs/Models/Operations/EntityMatcherOutput.md | 15 + docs/Models/Operations/Error.md | 9 + docs/Models/Operations/Evaluation.md | 14 + .../Models/Operations/ExecuteActionRequest.md | 15 + .../Operations/ExecuteActionResponse.md | 11 + .../Operations/ExecuteActionResponseBody.md | 10 + docs/Models/Operations/Extremism.md | 10 + docs/Models/Operations/FaceDetection.md | 12 + docs/Models/Operations/Filter.md | 32 + docs/Models/Operations/FilterLabel.md | 11 + docs/Models/Operations/FlaggedContentTrend.md | 9 + docs/Models/Operations/FlaggingMode.md | 11 + docs/Models/Operations/Gambling.md | 10 + docs/Models/Operations/GetAccountResponse.md | 11 + .../Operations/GetAccountResponseBody.md | 14 + docs/Models/Operations/GetActionPosition.md | 12 + .../Operations/GetActionPossibleValue.md | 8 + .../Operations/GetActionQueueBehaviour.md | 12 + docs/Models/Operations/GetActionRequest.md | 8 + docs/Models/Operations/GetActionResponse.md | 11 + .../Operations/GetActionResponseBody.md | 22 + docs/Models/Operations/GetActionType.md | 17 + docs/Models/Operations/GetAuthorRequest.md | 8 + docs/Models/Operations/GetAuthorResponse.md | 11 + docs/Models/Operations/GetChannelRequest.md | 8 + docs/Models/Operations/GetChannelResponse.md | 11 + docs/Models/Operations/GetProjectRequest.md | 8 + docs/Models/Operations/GetProjectResponse.md | 11 + docs/Models/Operations/GetQueueContentType.md | 16 + .../GetQueueRecommendationAction.md | 10 + docs/Models/Operations/GetQueueRequest.md | 8 + docs/Models/Operations/GetQueueResponse.md | 11 + .../Models/Operations/GetQueueResponseBody.md | 10 + .../Models/Operations/GetQueueStatsRequest.md | 9 + .../Operations/GetQueueStatsResponse.md | 11 + .../Operations/GetQueueStatsResponseBody.md | 13 + docs/Models/Operations/GetQueueType.md | 11 + docs/Models/Operations/GetWebhookEventType.md | 18 + .../Operations/GetWebhookPayloadVersion.md | 11 + docs/Models/Operations/GetWebhookRequest.md | 8 + docs/Models/Operations/GetWebhookResponse.md | 11 + .../Operations/GetWebhookResponseBody.md | 16 + .../Operations/GetWebhookSecretResponse.md | 11 + .../GetWebhookSecretResponseBody.md | 10 + .../GetWordlistEmbeddingStatusRequest.md | 8 + .../GetWordlistEmbeddingStatusResponse.md | 11 + .../GetWordlistEmbeddingStatusResponseBody.md | 12 + docs/Models/Operations/GetWordlistRequest.md | 8 + docs/Models/Operations/GetWordlistResponse.md | 11 + .../Operations/GetWordlistResponseBody.md | 16 + docs/Models/Operations/GlobalFlaggingMode.md | 11 + docs/Models/Operations/Guideline.md | 12 + docs/Models/Operations/Hate.md | 10 + docs/Models/Operations/IllegalTrade.md | 10 + docs/Models/Operations/Illicit.md | 10 + docs/Models/Operations/IllicitAlcohol.md | 10 + docs/Models/Operations/IllicitDrugs.md | 10 + docs/Models/Operations/IllicitFirearms.md | 10 + docs/Models/Operations/IllicitGambling.md | 10 + docs/Models/Operations/IllicitTobacco.md | 10 + docs/Models/Operations/ImageRequest.md | 12 + docs/Models/Operations/ImageResponse.md | 12 + docs/Models/Operations/Insight.md | 59 + docs/Models/Operations/IsFlagged.md | 11 + docs/Models/Operations/LanguageInsight.md | 13 + docs/Models/Operations/ListActionsData.md | 20 + docs/Models/Operations/ListActionsPosition.md | 12 + .../Operations/ListActionsPossibleValue.md | 8 + .../Operations/ListActionsQueueBehaviour.md | 12 + docs/Models/Operations/ListActionsRequest.md | 10 + docs/Models/Operations/ListActionsResponse.md | 11 + .../Operations/ListActionsResponseBody.md | 11 + docs/Models/Operations/ListActionsType.md | 17 + docs/Models/Operations/ListAuthorsRequest.md | 14 + docs/Models/Operations/ListAuthorsResponse.md | 11 + .../Operations/ListAuthorsResponseBody.md | 11 + .../Operations/ListAuthorsSortDirection.md | 11 + docs/Models/Operations/ListChannelsRequest.md | 10 + .../Models/Operations/ListChannelsResponse.md | 11 + .../Operations/ListChannelsResponseBody.md | 11 + docs/Models/Operations/ListProjectsRequest.md | 9 + .../Models/Operations/ListProjectsResponse.md | 11 + .../Operations/ListProjectsResponseBody.md | 11 + .../Models/Operations/ListQueueItemsAction.md | 12 + docs/Models/Operations/ListQueueItemsData.md | 18 + docs/Models/Operations/ListQueueItemsLabel.md | 10 + .../Operations/ListQueueItemsRequest.md | 19 + .../Operations/ListQueueItemsResponse.md | 11 + .../Operations/ListQueueItemsResponseBody.md | 11 + .../Operations/ListQueueItemsSortDirection.md | 11 + .../Models/Operations/ListQueueItemsStatus.md | 11 + docs/Models/Operations/ListWebhooksData.md | 14 + .../Operations/ListWebhooksEventType.md | 18 + .../Operations/ListWebhooksPayloadVersion.md | 11 + docs/Models/Operations/ListWebhooksRequest.md | 9 + .../Models/Operations/ListWebhooksResponse.md | 11 + .../Operations/ListWebhooksResponseBody.md | 11 + docs/Models/Operations/ListWordlistsData.md | 12 + .../Models/Operations/ListWordlistsRequest.md | 9 + .../Operations/ListWordlistsResponse.md | 11 + .../Operations/ListWordlistsResponseBody.md | 11 + docs/Models/Operations/LowQualityContent.md | 11 + docs/Models/Operations/MatchT.md | 13 + docs/Models/Operations/MatchedRule.md | 9 + docs/Models/Operations/MediaType.md | 12 + docs/Models/Operations/Meta.md | 14 + docs/Models/Operations/MetaStatus.md | 9 + docs/Models/Operations/MetaType.md | 18 + docs/Models/Operations/MetadataFilter.md | 9 + docs/Models/Operations/Method.md | 9 + docs/Models/Operations/Modified.md | 32 + docs/Models/Operations/ObjectT.md | 11 + docs/Models/Operations/PIIMasking.md | 9 + docs/Models/Operations/PersonalInformation.md | 10 + .../Models/Operations/PersonalStoryInsight.md | 13 + docs/Models/Operations/PolicyRequest.md | 365 + docs/Models/Operations/PolicyResponse.md | 25 + docs/Models/Operations/Political.md | 10 + docs/Models/Operations/Profanity.md | 10 + docs/Models/Operations/Promotion.md | 10 + docs/Models/Operations/Queue.md | 14 + docs/Models/Operations/ReasonCode.md | 23 + docs/Models/Operations/ReasonCodeEnum.md | 18 + docs/Models/Operations/Recommendation.md | 12 + docs/Models/Operations/Religion.md | 10 + .../Operations/RemoveWordlistWordsRequest.md | 9 + .../Operations/RemoveWordlistWordsResponse.md | 11 + .../RemoveWordlistWordsResponseBody.md | 12 + .../Operations/ResolveQueueItemRequest.md | 10 + .../Operations/ResolveQueueItemRequestBody.md | 8 + .../Operations/ResolveQueueItemResponse.md | 11 + .../ResolveQueueItemResponseBody.md | 12 + docs/Models/Operations/RespectInsight.md | 13 + docs/Models/Operations/ReviewStats.md | 10 + docs/Models/Operations/Scores.md | 11 + docs/Models/Operations/SelfHarm.md | 10 + docs/Models/Operations/SelfPromotion.md | 10 + docs/Models/Operations/SentimentInsight.md | 14 + docs/Models/Operations/Sexual.md | 10 + docs/Models/Operations/SexualMinors.md | 10 + docs/Models/Operations/SexualSolicitation.md | 10 + docs/Models/Operations/SignalsRequest.md | 8 + docs/Models/Operations/SignalsResponse.md | 18 + docs/Models/Operations/SortBy.md | 15 + docs/Models/Operations/SortField.md | 10 + docs/Models/Operations/Spam.md | 10 + docs/Models/Operations/SubmitContentLabel.md | 11 + .../SubmitContentRecommendationAction.md | 12 + .../Models/Operations/SubmitContentRequest.md | 18 + .../Operations/SubmitContentResponse.md | 11 + .../Operations/SubmitContentResponseBody.md | 18 + docs/Models/Operations/TextRequest.md | 11 + docs/Models/Operations/TextResponse.md | 11 + docs/Models/Operations/Threat.md | 10 + docs/Models/Operations/Tobacco.md | 10 + docs/Models/Operations/TopAction.md | 10 + docs/Models/Operations/TopReviewer.md | 13 + docs/Models/Operations/Topic.md | 9 + docs/Models/Operations/Toxicity.md | 10 + .../Models/Operations/TranscriptionQuality.md | 12 + docs/Models/Operations/Trends.md | 9 + docs/Models/Operations/TrustLevel.md | 9 + docs/Models/Operations/URLMasking.md | 9 + docs/Models/Operations/URLRisk.md | 13 + docs/Models/Operations/UnicodeSpoofing.md | 11 + .../Operations/UnresolveQueueItemRequest.md | 10 + .../UnresolveQueueItemRequestBody.md | 8 + .../Operations/UnresolveQueueItemResponse.md | 11 + .../UnresolveQueueItemResponseBody.md | 12 + .../Operations/UpdateActionPositionRequest.md | 12 + .../UpdateActionPositionResponse.md | 12 + .../UpdateActionPossibleValueRequest.md | 8 + .../UpdateActionPossibleValueResponse.md | 8 + .../UpdateActionQueueBehaviourRequest.md | 12 + .../UpdateActionQueueBehaviourResponse.md | 12 + docs/Models/Operations/UpdateActionRequest.md | 9 + .../Operations/UpdateActionRequestBody.md | 18 + .../Models/Operations/UpdateActionResponse.md | 11 + .../Operations/UpdateActionResponseBody.md | 22 + .../Operations/UpdateActionTypeRequest.md | 17 + .../Operations/UpdateActionTypeResponse.md | 17 + .../Models/Operations/UpdateAuthorMetadata.md | 14 + docs/Models/Operations/UpdateAuthorRequest.md | 9 + .../Operations/UpdateAuthorRequestBody.md | 16 + .../Models/Operations/UpdateAuthorResponse.md | 11 + .../Operations/UpdateChannelContentType.md | 18 + .../Models/Operations/UpdateChannelRequest.md | 9 + .../Operations/UpdateChannelRequestBody.md | 23 + .../Operations/UpdateChannelResponse.md | 11 + .../Models/Operations/UpdateProjectRequest.md | 9 + .../Operations/UpdateProjectRequestBody.md | 14 + .../Operations/UpdateProjectResponse.md | 11 + .../UpdateWebhookEventTypeRequest.md | 18 + .../UpdateWebhookEventTypeResponse.md | 18 + .../Operations/UpdateWebhookPayloadVersion.md | 11 + .../Models/Operations/UpdateWebhookRequest.md | 9 + .../Operations/UpdateWebhookRequestBody.md | 11 + .../Operations/UpdateWebhookResponse.md | 11 + .../Operations/UpdateWebhookResponseBody.md | 16 + .../Operations/UpdateWordlistRequest.md | 9 + .../Operations/UpdateWordlistRequestBody.md | 12 + .../Operations/UpdateWordlistResponse.md | 11 + .../Operations/UpdateWordlistResponseBody.md | 16 + docs/Models/Operations/Value.md | 10 + docs/Models/Operations/Verdict.md | 11 + docs/Models/Operations/VideoRequest.md | 11 + docs/Models/Operations/VideoResponse.md | 11 + docs/Models/Operations/Violence.md | 10 + docs/Models/Operations/Weapons.md | 10 + docs/Models/Operations/WithinUnit.md | 13 + docs/sdks/account/README.md | 50 + docs/sdks/actions/README.md | 344 + docs/sdks/authors/README.md | 297 + docs/sdks/channels/README.md | 344 + docs/sdks/content/README.md | 68 + docs/sdks/items/README.md | 188 + docs/sdks/projects/README.md | 336 + docs/sdks/queue/README.md | 117 + docs/sdks/webhooks/README.md | 279 + docs/sdks/webhooksecret/README.md | 50 + docs/sdks/wordlist/README.md | 230 + docs/sdks/words/README.md | 126 + phpstan.dist.neon | 14 - phpstan.neon | 10 + phpunit.xml | 17 + phpunit.xml.dist | 18 - pint.json | 23 + rector.php | 29 + release-please-config.json | 67 - scripts/bootstrap | 8 - scripts/clean | 8 - scripts/format | 8 - scripts/lint | 8 - scripts/test | 9 - src/Account.php | 132 + src/Account/AccountListResponse.php | 162 - .../AccountListResponse/CurrentProject.php | 86 - src/Actions.php | 832 ++ src/Actions/ActionCreateParams.php | 312 - src/Actions/ActionCreateParams/Position.php | 17 - .../ActionCreateParams/PossibleValue.php | 68 - .../ActionCreateParams/QueueBehaviour.php | 17 - src/Actions/ActionCreateParams/Type.php | 31 - src/Actions/ActionDeleteResponse.php | 86 - src/Actions/ActionGetResponse.php | 367 - src/Actions/ActionGetResponse/Position.php | 17 - .../ActionGetResponse/PossibleValue.php | 68 - .../ActionGetResponse/QueueBehaviour.php | 17 - src/Actions/ActionGetResponse/Type.php | 31 - src/Actions/ActionListParams.php | 54 - src/Actions/ActionListResponseItem.php | 367 - .../ActionListResponseItem/Position.php | 17 - .../ActionListResponseItem/PossibleValue.php | 68 - .../ActionListResponseItem/QueueBehaviour.php | 17 - src/Actions/ActionListResponseItem/Type.php | 31 - src/Actions/ActionNewResponse.php | 367 - src/Actions/ActionNewResponse/Position.php | 17 - .../ActionNewResponse/PossibleValue.php | 68 - .../ActionNewResponse/QueueBehaviour.php | 17 - src/Actions/ActionNewResponse/Type.php | 31 - src/Actions/ActionUpdateParams.php | 296 - src/Actions/ActionUpdateParams/Position.php | 17 - .../ActionUpdateParams/PossibleValue.php | 68 - .../ActionUpdateParams/QueueBehaviour.php | 17 - src/Actions/ActionUpdateParams/Type.php | 31 - src/Actions/ActionUpdateResponse.php | 367 - src/Actions/ActionUpdateResponse/Position.php | 17 - .../ActionUpdateResponse/PossibleValue.php | 68 - .../ActionUpdateResponse/QueueBehaviour.php | 17 - src/Actions/ActionUpdateResponse/Type.php | 31 - .../Execute/ExecuteExecuteByIDParams.php | 135 - .../Execute/ExecuteExecuteByIDResponse.php | 118 - src/Actions/Execute/ExecuteExecuteParams.php | 190 - .../Execute/ExecuteExecuteResponse.php | 70 - src/Auth/AuthGetResponse.php | 86 - src/Auth/AuthNewResponse.php | 109 - src/Authors.php | 786 ++ src/Authors/AuthorCreateParams.php | 260 - src/Authors/AuthorCreateParams/Metadata.php | 119 - src/Authors/AuthorDeleteResponse.php | 62 - src/Authors/AuthorGetResponse.php | 416 - src/Authors/AuthorGetResponse/Block.php | 76 - src/Authors/AuthorGetResponse/Metadata.php | 119 - src/Authors/AuthorGetResponse/Metrics.php | 111 - .../AuthorGetResponse/RiskEvaluation.php | 56 - src/Authors/AuthorGetResponse/Status.php | 17 - src/Authors/AuthorGetResponse/TrustLevel.php | 86 - src/Authors/AuthorListParams.php | 172 - src/Authors/AuthorListParams/SortBy.php | 24 - .../AuthorListParams/SortDirection.php | 15 - src/Authors/AuthorListResponse.php | 93 - src/Authors/AuthorListResponse/Author.php | 416 - .../AuthorListResponse/Author/Block.php | 76 - .../AuthorListResponse/Author/Metadata.php | 119 - .../AuthorListResponse/Author/Metrics.php | 111 - .../Author/RiskEvaluation.php | 56 - .../AuthorListResponse/Author/Status.php | 17 - .../AuthorListResponse/Author/TrustLevel.php | 86 - src/Authors/AuthorListResponse/Pagination.php | 132 - src/Authors/AuthorNewResponse.php | 416 - src/Authors/AuthorNewResponse/Block.php | 76 - src/Authors/AuthorNewResponse/Metadata.php | 119 - src/Authors/AuthorNewResponse/Metrics.php | 111 - .../AuthorNewResponse/RiskEvaluation.php | 56 - src/Authors/AuthorNewResponse/Status.php | 17 - src/Authors/AuthorNewResponse/TrustLevel.php | 86 - src/Authors/AuthorUpdateParams.php | 224 - src/Authors/AuthorUpdateParams/Metadata.php | 119 - src/Authors/AuthorUpdateResponse.php | 416 - src/Authors/AuthorUpdateResponse/Block.php | 76 - src/Authors/AuthorUpdateResponse/Metadata.php | 119 - src/Authors/AuthorUpdateResponse/Metrics.php | 111 - .../AuthorUpdateResponse/RiskEvaluation.php | 56 - src/Authors/AuthorUpdateResponse/Status.php | 17 - .../AuthorUpdateResponse/TrustLevel.php | 86 - src/Channels.php | 854 ++ src/Client.php | 185 - src/Content.php | 172 + src/Content/ContentStreamParams.php | 88 - .../SecWebSocketProtocol.php | 10 - src/Content/ContentSubmitParams.php | 316 - .../ContentSubmitParams/ClientAction.php | 148 - .../ClientAction/Action.php | 17 - .../ClientAction/Behavior.php | 15 - src/Content/ContentSubmitParams/Content.php | 41 - .../ContentSubmitParams/Content/Audio.php | 85 - .../ContentSubmitParams/Content/Image.php | 92 - .../ContentSubmitParams/Content/Object_.php | 95 - .../Content/Object_/Data.php | 37 - .../Content/Object_/Data/Audio.php | 85 - .../Content/Object_/Data/Image.php | 92 - .../Content/Object_/Data/Text.php | 85 - .../Content/Object_/Data/Video.php | 85 - .../ContentSubmitParams/Content/Text.php | 85 - .../ContentSubmitParams/Content/Video.php | 85 - src/Content/ContentSubmitParams/MetaType.php | 29 - src/Content/ContentSubmitParams/Policy.php | 121 - .../ContentSubmitParams/Policy/Adult.php | 93 - .../ContentSubmitParams/Policy/Cannabis.php | 93 - .../ContentSubmitParams/Policy/CodeAbuse.php | 93 - .../ContentSubmitParams/Policy/Crypto.php | 93 - .../Policy/FaceDetection.php | 144 - .../Policy/FaceDetection/Comparator.php | 15 - .../ContentSubmitParams/Policy/Flirtation.php | 93 - .../ContentSubmitParams/Policy/Guideline.php | 125 - .../ContentSubmitParams/Policy/Hate.php | 91 - .../ContentSubmitParams/Policy/Illicit.php | 93 - .../Policy/IllicitAlcohol.php | 93 - .../Policy/IllicitDrugs.php | 93 - .../Policy/IllicitFirearms.php | 93 - .../Policy/IllicitGambling.php | 93 - .../Policy/IllicitTobacco.php | 93 - .../Policy/LowQualityContent.php | 114 - .../Policy/PersonalInformation.php | 93 - .../ContentSubmitParams/Policy/PiiMasking.php | 88 - .../Policy/PiiMasking/Entity.php | 93 - .../ContentSubmitParams/Policy/Political.php | 93 - .../ContentSubmitParams/Policy/Profanity.php | 93 - .../ContentSubmitParams/Policy/Religion.php | 93 - .../ContentSubmitParams/Policy/SelfHarm.php | 93 - .../Policy/SelfPromotion.php | 93 - .../ContentSubmitParams/Policy/Sexual.php | 93 - .../Policy/SexualMinors.php | 93 - .../ContentSubmitParams/Policy/Spam.php | 91 - .../ContentSubmitParams/Policy/Toxicity.php | 93 - .../Policy/ToxicitySevere.php | 93 - .../ContentSubmitParams/Policy/URLMasking.php | 88 - .../Policy/URLMasking/Entity.php | 93 - .../ContentSubmitParams/Policy/URLRisk.php | 168 - .../Policy/UnicodeSpoofing.php | 126 - .../Policy/UnicodeSpoofing/Signal.php | 48 - .../ContentSubmitParams/Policy/Violence.php | 93 - src/Content/ContentSubmitResponse.php | 306 - src/Content/ContentSubmitResponse/Author.php | 168 - .../ContentSubmitResponse/Author/Block.php | 76 - .../ContentSubmitResponse/Author/Status.php | 17 - .../Author/TrustLevel.php | 86 - .../ContentSubmitResponse/Casebook.php | 199 - .../ContentSubmitResponse/Casebook/Topic.php | 76 - .../Casebook/Verdict.php | 15 - src/Content/ContentSubmitResponse/Content.php | 169 - .../Content/Modified.php | 40 - .../Modified/ModifiedNestedObjectContent.php | 37 - .../ModifiedNestedObjectContent/Audio.php | 85 - .../ModifiedNestedObjectContent/Image.php | 92 - .../ModifiedNestedObjectContent/Text.php | 85 - .../ModifiedNestedObjectContent/Video.php | 85 - src/Content/ContentSubmitResponse/Error.php | 74 - .../ContentSubmitResponse/Evaluation.php | 158 - src/Content/ContentSubmitResponse/Insight.php | 33 - .../Insight/LanguageInsight.php | 108 - .../Insight/SentimentInsight.php | 120 - .../Insight/SentimentInsight/Value.php | 14 - src/Content/ContentSubmitResponse/Meta.php | 142 - .../ContentSubmitResponse/Meta/Status.php | 12 - src/Content/ContentSubmitResponse/Policy.php | 33 - .../Policy/ClassifierOutput.php | 192 - .../Policy/ClassifierOutput/Label.php | 106 - .../Policy/EntityMatcherOutput.php | 159 - .../Policy/EntityMatcherOutput/Match_.php | 172 - .../EntityMatcherOutput/Match_/Signals.php | 208 - .../Match_/Signals/BrandImpersonation.php | 83 - .../Signals/BrandImpersonation/Method.php | 12 - .../ContentSubmitResponse/Recommendation.php | 136 - .../Recommendation/Action.php | 17 - .../Recommendation/MatchedRule.php | 74 - .../Recommendation/ReasonCode.php | 30 - src/Core.php | 5 - src/Core/Attributes/Optional.php | 35 - src/Core/Attributes/Required.php | 60 - src/Core/BaseClient.php | 291 - src/Core/Concerns/ResponseProxy.php | 101 - src/Core/Concerns/SdkEnum.php | 34 - src/Core/Concerns/SdkModel.php | 305 - src/Core/Concerns/SdkPage.php | 102 - src/Core/Concerns/SdkParams.php | 36 - src/Core/Concerns/SdkUnion.php | 39 - src/Core/Contracts/BaseModel.php | 18 - src/Core/Contracts/BasePage.php | 34 - src/Core/Contracts/BaseResponse.php | 21 - src/Core/Contracts/BaseStream.php | 33 - src/Core/Conversion.php | 229 - src/Core/Conversion/CoerceState.php | 19 - src/Core/Conversion/Concerns/ArrayOf.php | 79 - src/Core/Conversion/Contracts/Converter.php | 24 - .../Conversion/Contracts/ConverterSource.php | 13 - src/Core/Conversion/DumpState.php | 20 - src/Core/Conversion/EnumOf.php | 64 - src/Core/Conversion/ListOf.php | 22 - src/Core/Conversion/MapOf.php | 16 - src/Core/Conversion/ModelOf.php | 137 - src/Core/Conversion/PropertyInfo.php | 79 - src/Core/Conversion/UnionOf.php | 132 - .../Exceptions/APIConnectionException.php | 9 - src/Core/Exceptions/APIException.php | 23 - src/Core/Exceptions/APIStatusException.php | 55 - src/Core/Exceptions/APITimeoutException.php | 19 - .../Exceptions/AuthenticationException.php | 9 - src/Core/Exceptions/BadRequestException.php | 9 - src/Core/Exceptions/ConflictException.php | 9 - .../Exceptions/InternalServerException.php | 9 - .../Exceptions/ModerationAPIException.php | 14 - src/Core/Exceptions/NotFoundException.php | 9 - .../Exceptions/PermissionDeniedException.php | 9 - src/Core/Exceptions/RateLimitException.php | 9 - .../UnprocessableEntityException.php | 9 - src/Core/FileParam.php | 63 - src/Core/Implementation/RawResponse.php | 106 - .../Implementation/StreamingHttpClient.php | 34 - src/Core/Util.php | 577 -- src/Hooks/AfterErrorContext.php | 32 + src/Hooks/AfterErrorHook.php | 17 + src/Hooks/AfterSuccessContext.php | 18 + src/Hooks/AfterSuccessHook.php | 17 + src/Hooks/BeforeRequestContext.php | 32 + src/Hooks/BeforeRequestHook.php | 17 + src/Hooks/Credentials.php | 33 + src/Hooks/ErrorResponseContext.php | 23 + src/Hooks/FailEarlyException.php | 14 + src/Hooks/HookContext.php | 64 + src/Hooks/Hooks.php | 18 + src/Hooks/SDKHooks.php | 116 + src/Hooks/SDKInitHook.php | 17 + src/Hooks/Session.php | 37 + src/Hooks/TokenResponse.php | 17 + src/Items.php | 514 ++ .../Components/AuthenticationErrorCode.php | 27 + src/Models/Components/BadRequestErrorCode.php | 23 + src/Models/Components/Block.php | 42 + src/Models/Components/Channel.php | 232 + src/Models/Components/ConflictErrorCode.php | 21 + src/Models/Components/ContentType.php | 24 + src/Models/Components/ErrorIssue.php | 53 + src/Models/Components/FlaggingMode.php | 17 + .../Components/InternalServerErrorCode.php | 21 + src/Models/Components/Metadata.php | 77 + src/Models/Components/Metrics.php | 51 + src/Models/Components/NotFoundErrorCode.php | 35 + src/Models/Components/Pagination.php | 71 + .../Components/PermissionDeniedErrorCode.php | 37 + src/Models/Components/Project.php | 121 + .../Components/ProjectGlobalFlaggingMode.php | 17 + src/Models/Components/ProjectWithKey.php | 131 + .../ProjectWithKeyGlobalFlaggingMode.php | 17 + src/Models/Components/PublicAuthor.php | 191 + src/Models/Components/RateLimitErrorCode.php | 21 + src/Models/Components/RiskEvaluation.php | 31 + src/Models/Components/Security.php | 29 + src/Models/Components/Status.php | 18 + .../Components/TranscriptionQuality.php | 18 + src/Models/Components/TrustLevel.php | 40 + src/Models/Errors/APIException.php | 32 + src/Models/Errors/AuthenticationError.php | 111 + .../Errors/AuthenticationErrorThrowable.php | 20 + src/Models/Errors/BadRequestError.php | 109 + .../Errors/BadRequestErrorThrowable.php | 20 + src/Models/Errors/ConflictError.php | 108 + src/Models/Errors/ConflictErrorThrowable.php | 20 + src/Models/Errors/InternalServerError.php | 108 + .../Errors/InternalServerErrorThrowable.php | 20 + src/Models/Errors/NotFoundError.php | 115 + src/Models/Errors/NotFoundErrorThrowable.php | 20 + src/Models/Errors/PermissionDeniedError.php | 116 + .../Errors/PermissionDeniedErrorThrowable.php | 20 + src/Models/Errors/RateLimitError.php | 108 + src/Models/Errors/RateLimitErrorThrowable.php | 20 + src/Models/Operations/ActionRequest.php | 18 + src/Models/Operations/ActionStat.php | 60 + .../Operations/AddWordlistWordsRequest.php | 39 + .../AddWordlistWordsRequestBody.php | 31 + .../Operations/AddWordlistWordsResponse.php | 56 + .../AddWordlistWordsResponseBody.php | 52 + src/Models/Operations/Adult.php | 48 + src/Models/Operations/Alcohol.php | 48 + src/Models/Operations/AudioRequest.php | 40 + src/Models/Operations/AudioResponse.php | 40 + src/Models/Operations/Author.php | 73 + src/Models/Operations/AuthorStatus.php | 18 + src/Models/Operations/Behavior.php | 17 + src/Models/Operations/Block.php | 42 + src/Models/Operations/BrandImpersonation.php | 39 + src/Models/Operations/Cannabis.php | 48 + src/Models/Operations/Casebook.php | 82 + src/Models/Operations/CasebookAgreement.php | 17 + src/Models/Operations/CasebookAnswer.php | 18 + .../Operations/ChannelCircumvention.php | 48 + src/Models/Operations/CheckStatus.php | 17 + src/Models/Operations/ClassifierOutput.php | 94 + src/Models/Operations/ClientAction.php | 66 + src/Models/Operations/CodeAbuse.php | 48 + src/Models/Operations/Comparator.php | 17 + src/Models/Operations/CompassionInsight.php | 58 + src/Models/Operations/ContentResponse.php | 73 + .../CreateActionPositionRequest.php | 18 + .../CreateActionPositionResponse.php | 18 + .../CreateActionPossibleValueRequest.php | 30 + .../CreateActionPossibleValueResponse.php | 30 + .../CreateActionQueueBehaviourRequest.php | 18 + .../CreateActionQueueBehaviourResponse.php | 18 + src/Models/Operations/CreateActionRequest.php | 145 + .../Operations/CreateActionResponse.php | 56 + .../Operations/CreateActionResponseBody.php | 164 + .../Operations/CreateActionTypeRequest.php | 24 + .../Operations/CreateActionTypeResponse.php | 24 + .../Operations/CreateAuthorMetadata.php | 77 + src/Models/Operations/CreateAuthorRequest.php | 129 + .../Operations/CreateAuthorResponse.php | 56 + .../Operations/CreateChannelContentType.php | 24 + .../Operations/CreateChannelRequest.php | 39 + .../Operations/CreateChannelRequestBody.php | 64 + .../Operations/CreateChannelResponse.php | 56 + .../Operations/CreateProjectRequest.php | 74 + .../Operations/CreateProjectResponse.php | 56 + .../CreateWebhookEventTypeRequest.php | 25 + .../CreateWebhookEventTypeResponse.php | 25 + .../CreateWebhookPayloadVersion.php | 17 + .../Operations/CreateWebhookRequest.php | 62 + .../Operations/CreateWebhookResponse.php | 56 + .../Operations/CreateWebhookResponseBody.php | 94 + src/Models/Operations/Crypto.php | 48 + src/Models/Operations/CuriosityInsight.php | 58 + src/Models/Operations/CurrentProject.php | 40 + src/Models/Operations/DailyReviewCount.php | 40 + src/Models/Operations/DataAudio.php | 40 + src/Models/Operations/DataImage.php | 52 + src/Models/Operations/DataText.php | 40 + src/Models/Operations/DataVideo.php | 40 + src/Models/Operations/DeleteActionRequest.php | 30 + .../Operations/DeleteActionResponse.php | 56 + .../Operations/DeleteActionResponseBody.php | 41 + src/Models/Operations/DeleteAuthorRequest.php | 30 + .../Operations/DeleteAuthorResponse.php | 56 + .../Operations/DeleteAuthorResponseBody.php | 30 + .../Operations/DeleteChannelRequest.php | 30 + .../Operations/DeleteChannelResponse.php | 56 + .../Operations/DeleteChannelResponseBody.php | 41 + .../Operations/DeleteProjectRequest.php | 30 + .../Operations/DeleteProjectResponse.php | 56 + .../Operations/DeleteProjectResponseBody.php | 41 + .../Operations/DeleteWebhookRequest.php | 30 + .../Operations/DeleteWebhookResponse.php | 56 + .../Operations/DeleteWebhookResponseBody.php | 41 + src/Models/Operations/Drugs.php | 48 + .../Operations/DuplicateChannelRequest.php | 39 + .../DuplicateChannelRequestBody.php | 42 + .../Operations/DuplicateChannelResponse.php | 56 + .../Operations/DuplicateProjectRequest.php | 39 + .../DuplicateProjectRequestBody.php | 31 + .../Operations/DuplicateProjectResponse.php | 56 + src/Models/Operations/Entities1.php | 72 + src/Models/Operations/Entities2.php | 72 + src/Models/Operations/EntityMatcherOutput.php | 80 + src/Models/Operations/Error.php | 38 + src/Models/Operations/Evaluation.php | 73 + .../Operations/ExecuteActionRequest.php | 88 + .../Operations/ExecuteActionResponse.php | 56 + .../Operations/ExecuteActionResponseBody.php | 31 + src/Models/Operations/Extremism.php | 48 + src/Models/Operations/FaceDetection.php | 71 + src/Models/Operations/Filter.php | 299 + src/Models/Operations/FilterLabel.php | 59 + src/Models/Operations/FlaggedContentTrend.php | 40 + src/Models/Operations/FlaggingMode.php | 17 + src/Models/Operations/Gambling.php | 48 + src/Models/Operations/GetAccountResponse.php | 56 + .../Operations/GetAccountResponseBody.php | 72 + src/Models/Operations/GetActionPosition.php | 18 + .../Operations/GetActionPossibleValue.php | 30 + .../Operations/GetActionQueueBehaviour.php | 18 + src/Models/Operations/GetActionRequest.php | 30 + src/Models/Operations/GetActionResponse.php | 56 + .../Operations/GetActionResponseBody.php | 164 + src/Models/Operations/GetActionType.php | 24 + src/Models/Operations/GetAuthorRequest.php | 30 + src/Models/Operations/GetAuthorResponse.php | 56 + src/Models/Operations/GetChannelRequest.php | 30 + src/Models/Operations/GetChannelResponse.php | 56 + src/Models/Operations/GetProjectRequest.php | 30 + src/Models/Operations/GetProjectResponse.php | 56 + src/Models/Operations/GetQueueContentType.php | 23 + .../GetQueueRecommendationAction.php | 17 + src/Models/Operations/GetQueueRequest.php | 30 + src/Models/Operations/GetQueueResponse.php | 56 + .../Operations/GetQueueResponseBody.php | 31 + .../Operations/GetQueueStatsRequest.php | 39 + .../Operations/GetQueueStatsResponse.php | 56 + .../Operations/GetQueueStatsResponseBody.php | 63 + src/Models/Operations/GetQueueType.php | 18 + src/Models/Operations/GetWebhookEventType.php | 25 + .../Operations/GetWebhookPayloadVersion.php | 17 + src/Models/Operations/GetWebhookRequest.php | 30 + src/Models/Operations/GetWebhookResponse.php | 56 + .../Operations/GetWebhookResponseBody.php | 94 + .../Operations/GetWebhookSecretResponse.php | 56 + .../GetWebhookSecretResponseBody.php | 31 + .../GetWordlistEmbeddingStatusRequest.php | 30 + .../GetWordlistEmbeddingStatusResponse.php | 56 + ...GetWordlistEmbeddingStatusResponseBody.php | 51 + src/Models/Operations/GetWordlistRequest.php | 30 + src/Models/Operations/GetWordlistResponse.php | 56 + .../Operations/GetWordlistResponseBody.php | 90 + src/Models/Operations/GlobalFlaggingMode.php | 17 + src/Models/Operations/Guideline.php | 66 + src/Models/Operations/Hate.php | 48 + src/Models/Operations/IllegalTrade.php | 48 + src/Models/Operations/Illicit.php | 48 + src/Models/Operations/IllicitAlcohol.php | 48 + src/Models/Operations/IllicitDrugs.php | 48 + src/Models/Operations/IllicitFirearms.php | 48 + src/Models/Operations/IllicitGambling.php | 48 + src/Models/Operations/IllicitTobacco.php | 48 + src/Models/Operations/ImageRequest.php | 52 + src/Models/Operations/ImageResponse.php | 52 + src/Models/Operations/IsFlagged.php | 18 + src/Models/Operations/LanguageInsight.php | 57 + src/Models/Operations/ListActionsData.php | 163 + src/Models/Operations/ListActionsPosition.php | 18 + .../Operations/ListActionsPossibleValue.php | 30 + .../Operations/ListActionsQueueBehaviour.php | 18 + src/Models/Operations/ListActionsRequest.php | 47 + src/Models/Operations/ListActionsResponse.php | 73 + .../Operations/ListActionsResponseBody.php | 43 + src/Models/Operations/ListActionsType.php | 24 + src/Models/Operations/ListAuthorsRequest.php | 85 + src/Models/Operations/ListAuthorsResponse.php | 73 + .../Operations/ListAuthorsResponseBody.php | 43 + .../Operations/ListAuthorsSortDirection.php | 17 + src/Models/Operations/ListChannelsRequest.php | 48 + .../Operations/ListChannelsResponse.php | 73 + .../Operations/ListChannelsResponseBody.php | 43 + src/Models/Operations/ListProjectsRequest.php | 38 + .../Operations/ListProjectsResponse.php | 73 + .../Operations/ListProjectsResponseBody.php | 43 + .../Operations/ListQueueItemsAction.php | 72 + src/Models/Operations/ListQueueItemsData.php | 138 + src/Models/Operations/ListQueueItemsLabel.php | 50 + .../Operations/ListQueueItemsRequest.php | 133 + .../Operations/ListQueueItemsResponse.php | 73 + .../Operations/ListQueueItemsResponseBody.php | 43 + .../ListQueueItemsSortDirection.php | 17 + .../Operations/ListQueueItemsStatus.php | 17 + src/Models/Operations/ListWebhooksData.php | 93 + .../Operations/ListWebhooksEventType.php | 25 + .../Operations/ListWebhooksPayloadVersion.php | 17 + src/Models/Operations/ListWebhooksRequest.php | 38 + .../Operations/ListWebhooksResponse.php | 73 + .../Operations/ListWebhooksResponseBody.php | 43 + src/Models/Operations/ListWordlistsData.php | 70 + .../Operations/ListWordlistsRequest.php | 38 + .../Operations/ListWordlistsResponse.php | 73 + .../Operations/ListWordlistsResponseBody.php | 43 + src/Models/Operations/LowQualityContent.php | 59 + src/Models/Operations/MatchT.php | 84 + src/Models/Operations/MatchedRule.php | 38 + src/Models/Operations/MediaType.php | 19 + src/Models/Operations/Meta.php | 69 + src/Models/Operations/MetaStatus.php | 16 + src/Models/Operations/MetaType.php | 24 + src/Models/Operations/MetadataFilter.php | 38 + src/Models/Operations/Method.php | 16 + src/Models/Operations/ObjectT.php | 41 + src/Models/Operations/PIIMasking.php | 40 + src/Models/Operations/PersonalInformation.php | 48 + .../Operations/PersonalStoryInsight.php | 58 + src/Models/Operations/Political.php | 48 + src/Models/Operations/Profanity.php | 48 + src/Models/Operations/Promotion.php | 48 + src/Models/Operations/Queue.php | 84 + src/Models/Operations/ReasonCodeEnum.php | 25 + src/Models/Operations/Recommendation.php | 55 + src/Models/Operations/Religion.php | 48 + .../Operations/RemoveWordlistWordsRequest.php | 40 + .../RemoveWordlistWordsResponse.php | 56 + .../RemoveWordlistWordsResponseBody.php | 52 + .../Operations/ResolveQueueItemRequest.php | 49 + .../ResolveQueueItemRequestBody.php | 31 + .../Operations/ResolveQueueItemResponse.php | 56 + .../ResolveQueueItemResponseBody.php | 51 + src/Models/Operations/RespectInsight.php | 58 + src/Models/Operations/ReviewStats.php | 50 + src/Models/Operations/Scores.php | 41 + src/Models/Operations/SelfHarm.php | 48 + src/Models/Operations/SelfPromotion.php | 48 + src/Models/Operations/SentimentInsight.php | 70 + src/Models/Operations/Sexual.php | 48 + src/Models/Operations/SexualMinors.php | 48 + src/Models/Operations/SexualSolicitation.php | 48 + src/Models/Operations/SignalsRequest.php | 30 + src/Models/Operations/SignalsResponse.php | 103 + src/Models/Operations/SortBy.php | 23 + src/Models/Operations/SortField.php | 18 + src/Models/Operations/Spam.php | 48 + src/Models/Operations/SubmitContentLabel.php | 57 + .../SubmitContentRecommendationAction.php | 18 + .../Operations/SubmitContentRequest.php | 146 + .../Operations/SubmitContentResponse.php | 56 + .../Operations/SubmitContentResponseBody.php | 121 + src/Models/Operations/TextRequest.php | 40 + src/Models/Operations/TextResponse.php | 40 + src/Models/Operations/Threat.php | 48 + src/Models/Operations/Tobacco.php | 48 + src/Models/Operations/TopAction.php | 50 + src/Models/Operations/TopReviewer.php | 82 + src/Models/Operations/Topic.php | 38 + src/Models/Operations/Toxicity.php | 48 + .../Operations/TranscriptionQuality.php | 18 + src/Models/Operations/Trends.php | 42 + src/Models/Operations/TrustLevel.php | 40 + src/Models/Operations/URLMasking.php | 40 + src/Models/Operations/URLRisk.php | 83 + src/Models/Operations/UnicodeSpoofing.php | 60 + .../Operations/UnresolveQueueItemRequest.php | 49 + .../UnresolveQueueItemRequestBody.php | 31 + .../Operations/UnresolveQueueItemResponse.php | 56 + .../UnresolveQueueItemResponseBody.php | 50 + .../UpdateActionPositionRequest.php | 18 + .../UpdateActionPositionResponse.php | 18 + .../UpdateActionPossibleValueRequest.php | 30 + .../UpdateActionPossibleValueResponse.php | 30 + .../UpdateActionQueueBehaviourRequest.php | 18 + .../UpdateActionQueueBehaviourResponse.php | 18 + src/Models/Operations/UpdateActionRequest.php | 39 + .../Operations/UpdateActionRequestBody.php | 146 + .../Operations/UpdateActionResponse.php | 56 + .../Operations/UpdateActionResponseBody.php | 164 + .../Operations/UpdateActionTypeRequest.php | 24 + .../Operations/UpdateActionTypeResponse.php | 24 + .../Operations/UpdateAuthorMetadata.php | 77 + src/Models/Operations/UpdateAuthorRequest.php | 39 + .../Operations/UpdateAuthorRequestBody.php | 119 + .../Operations/UpdateAuthorResponse.php | 56 + .../Operations/UpdateChannelContentType.php | 24 + .../Operations/UpdateChannelRequest.php | 39 + .../Operations/UpdateChannelRequestBody.php | 199 + .../Operations/UpdateChannelResponse.php | 56 + .../Operations/UpdateProjectRequest.php | 39 + .../Operations/UpdateProjectRequestBody.php | 98 + .../Operations/UpdateProjectResponse.php | 56 + .../UpdateWebhookEventTypeRequest.php | 25 + .../UpdateWebhookEventTypeResponse.php | 25 + .../UpdateWebhookPayloadVersion.php | 17 + .../Operations/UpdateWebhookRequest.php | 39 + .../Operations/UpdateWebhookRequestBody.php | 65 + .../Operations/UpdateWebhookResponse.php | 56 + .../Operations/UpdateWebhookResponseBody.php | 94 + .../Operations/UpdateWordlistRequest.php | 39 + .../Operations/UpdateWordlistRequestBody.php | 76 + .../Operations/UpdateWordlistResponse.php | 56 + .../Operations/UpdateWordlistResponseBody.php | 90 + src/Models/Operations/Value.php | 17 + src/Models/Operations/Verdict.php | 17 + src/Models/Operations/VideoRequest.php | 40 + src/Models/Operations/VideoResponse.php | 40 + src/Models/Operations/Violence.php | 48 + src/Models/Operations/Weapons.php | 48 + src/Models/Operations/WithinUnit.php | 20 + src/ModerationApi.php | 80 + src/ModerationApiBuilder.php | 120 + src/Projects.php | 809 ++ src/Queue.php | 329 + src/Queue/Items/ItemListParams.php | 228 - .../Items/ItemListParams/SortDirection.php | 15 - src/Queue/Items/ItemListParams/SortField.php | 14 - src/Queue/Items/ItemListResponse.php | 93 - src/Queue/Items/ItemListResponse/Item.php | 297 - .../Items/ItemListResponse/Item/Action.php | 153 - .../Items/ItemListResponse/Item/Label.php | 107 - .../Items/ItemListResponse/Item/Status.php | 15 - .../Items/ItemListResponse/Pagination.php | 132 - src/Queue/Items/ItemResolveParams.php | 94 - src/Queue/Items/ItemResolveResponse.php | 105 - src/Queue/Items/ItemUnresolveParams.php | 96 - src/Queue/Items/ItemUnresolveResponse.php | 106 - src/Queue/QueueGetResponse.php | 70 - src/Queue/QueueGetResponse/Queue.php | 172 - src/Queue/QueueGetResponse/Queue/Filter.php | 490 -- .../Queue/Filter/CasebookAgreement.php | 14 - .../Queue/Filter/CasebookAnswer.php | 16 - .../Queue/Filter/CheckStatus.php | 14 - .../Queue/Filter/ContentType.php | 26 - .../Queue/Filter/FilterLabel.php | 116 - .../Queue/Filter/FilterLabel/Type.php | 16 - .../Queue/Filter/IsFlagged.php | 16 - .../Queue/Filter/MediaType.php | 18 - .../Queue/Filter/MetadataFilter.php | 74 - .../Queue/Filter/RecommendationAction.php | 14 - .../Queue/Filter/WithinUnit.php | 20 - src/Queue/QueueGetStatsParams.php | 60 - src/Queue/QueueGetStatsResponse.php | 147 - .../QueueGetStatsResponse/ActionStat.php | 134 - .../QueueGetStatsResponse/ReviewStats.php | 114 - .../QueueGetStatsResponse/TopReviewer.php | 193 - .../TopReviewer/TopAction.php | 109 - src/Queue/QueueGetStatsResponse/Trends.php | 95 - .../Trends/DailyReviewCount.php | 86 - .../Trends/FlaggedContentTrend.php | 86 - src/Queue/WebhookEvent.php | 65 - src/Queue/WebhookEvent/AuthorActionEvent.php | 151 - .../WebhookEvent/AuthorActionEvent/Data.php | 70 - .../AuthorActionEvent/Data/Object_.php | 213 - .../AuthorActionEvent/Data/Object_/Author.php | 418 - .../Data/Object_/Author/Block.php | 76 - .../Data/Object_/Author/Metadata.php | 119 - .../Data/Object_/Author/Metrics.php | 111 - .../Data/Object_/Author/RiskEvaluation.php | 56 - .../Data/Object_/Author/Status.php | 17 - .../Data/Object_/Author/TrustLevel.php | 86 - .../AuthorActionEvent/Data/Object_/Queue.php | 64 - src/Queue/WebhookEvent/AuthorBlockedEvent.php | 151 - .../WebhookEvent/AuthorBlockedEvent/Data.php | 70 - .../AuthorBlockedEvent/Data/Object_.php | 213 - .../Data/Object_/Author.php | 418 - .../Data/Object_/Author/Block.php | 76 - .../Data/Object_/Author/Metadata.php | 119 - .../Data/Object_/Author/Metrics.php | 111 - .../Data/Object_/Author/RiskEvaluation.php | 56 - .../Data/Object_/Author/Status.php | 17 - .../Data/Object_/Author/TrustLevel.php | 86 - .../AuthorBlockedEvent/Data/Object_/Queue.php | 64 - .../WebhookEvent/AuthorSuspendedEvent.php | 151 - .../AuthorSuspendedEvent/Data.php | 70 - .../AuthorSuspendedEvent/Data/Object_.php | 213 - .../Data/Object_/Author.php | 418 - .../Data/Object_/Author/Block.php | 76 - .../Data/Object_/Author/Metadata.php | 119 - .../Data/Object_/Author/Metrics.php | 111 - .../Data/Object_/Author/RiskEvaluation.php | 56 - .../Data/Object_/Author/Status.php | 17 - .../Data/Object_/Author/TrustLevel.php | 86 - .../Data/Object_/Queue.php | 64 - .../AuthorTrustLevelChangedEvent.php | 151 - .../AuthorTrustLevelChangedEvent/Data.php | 70 - .../Data/Object_.php | 416 - .../Data/Object_/Block.php | 76 - .../Data/Object_/Metadata.php | 119 - .../Data/Object_/Metrics.php | 111 - .../Data/Object_/RiskEvaluation.php | 56 - .../Data/Object_/Status.php | 17 - .../Data/Object_/TrustLevel.php | 86 - .../WebhookEvent/AuthorUnblockedEvent.php | 151 - .../AuthorUnblockedEvent/Data.php | 70 - .../AuthorUnblockedEvent/Data/Object_.php | 213 - .../Data/Object_/Author.php | 418 - .../Data/Object_/Author/Block.php | 76 - .../Data/Object_/Author/Metadata.php | 119 - .../Data/Object_/Author/Metrics.php | 111 - .../Data/Object_/Author/RiskEvaluation.php | 56 - .../Data/Object_/Author/Status.php | 17 - .../Data/Object_/Author/TrustLevel.php | 86 - .../Data/Object_/Queue.php | 64 - src/Queue/WebhookEvent/AuthorUpdatedEvent.php | 151 - .../WebhookEvent/AuthorUpdatedEvent/Data.php | 70 - .../AuthorUpdatedEvent/Data/Object_.php | 416 - .../AuthorUpdatedEvent/Data/Object_/Block.php | 76 - .../Data/Object_/Metadata.php | 119 - .../Data/Object_/Metrics.php | 111 - .../Data/Object_/RiskEvaluation.php | 56 - .../Data/Object_/Status.php | 17 - .../Data/Object_/TrustLevel.php | 86 - .../WebhookEvent/QueueItemActionEvent.php | 151 - .../QueueItemActionEvent/Data.php | 70 - .../QueueItemActionEvent/Data/Object_.php | 235 - .../Data/Object_/Author.php | 418 - .../Data/Object_/Author/Block.php | 76 - .../Data/Object_/Author/Metadata.php | 119 - .../Data/Object_/Author/Metrics.php | 111 - .../Data/Object_/Author/RiskEvaluation.php | 56 - .../Data/Object_/Author/Status.php | 17 - .../Data/Object_/Author/TrustLevel.php | 86 - .../Data/Object_/Item.php | 384 - .../Data/Object_/Item/ClientAction.php | 148 - .../Data/Object_/Item/ClientAction/Action.php | 17 - .../Object_/Item/ClientAction/Behavior.php | 15 - .../Data/Object_/Item/Content.php | 41 - .../Data/Object_/Item/Content/Audio.php | 85 - .../Data/Object_/Item/Content/Image.php | 92 - .../Data/Object_/Item/Content/Object_.php | 95 - .../Object_/Item/Content/Object_/Data.php | 37 - .../Item/Content/Object_/Data/Audio.php | 85 - .../Item/Content/Object_/Data/Image.php | 92 - .../Item/Content/Object_/Data/Text.php | 85 - .../Item/Content/Object_/Data/Video.php | 85 - .../Data/Object_/Item/Content/Text.php | 85 - .../Data/Object_/Item/Content/Video.php | 85 - .../Data/Object_/Item/Label.php | 176 - .../Data/Object_/Item/Label/Match_.php | 220 - .../Object_/Item/Label/Match_/Signals.php | 206 - .../Match_/Signals/BrandImpersonation.php | 74 - .../Data/Object_/Item/MetaType.php | 29 - .../Data/Object_/Queue.php | 64 - .../WebhookEvent/QueueItemAllowedEvent.php | 151 - .../QueueItemAllowedEvent/Data.php | 70 - .../QueueItemAllowedEvent/Data/Object_.php | 235 - .../Data/Object_/Author.php | 418 - .../Data/Object_/Author/Block.php | 76 - .../Data/Object_/Author/Metadata.php | 119 - .../Data/Object_/Author/Metrics.php | 111 - .../Data/Object_/Author/RiskEvaluation.php | 56 - .../Data/Object_/Author/Status.php | 17 - .../Data/Object_/Author/TrustLevel.php | 86 - .../Data/Object_/Item.php | 384 - .../Data/Object_/Item/ClientAction.php | 148 - .../Data/Object_/Item/ClientAction/Action.php | 17 - .../Object_/Item/ClientAction/Behavior.php | 15 - .../Data/Object_/Item/Content.php | 41 - .../Data/Object_/Item/Content/Audio.php | 85 - .../Data/Object_/Item/Content/Image.php | 92 - .../Data/Object_/Item/Content/Object_.php | 95 - .../Object_/Item/Content/Object_/Data.php | 37 - .../Item/Content/Object_/Data/Audio.php | 85 - .../Item/Content/Object_/Data/Image.php | 92 - .../Item/Content/Object_/Data/Text.php | 85 - .../Item/Content/Object_/Data/Video.php | 85 - .../Data/Object_/Item/Content/Text.php | 85 - .../Data/Object_/Item/Content/Video.php | 85 - .../Data/Object_/Item/Label.php | 176 - .../Data/Object_/Item/Label/Match_.php | 220 - .../Object_/Item/Label/Match_/Signals.php | 206 - .../Match_/Signals/BrandImpersonation.php | 74 - .../Data/Object_/Item/MetaType.php | 29 - .../Data/Object_/Queue.php | 64 - .../WebhookEvent/QueueItemCompletedEvent.php | 151 - .../QueueItemCompletedEvent/Data.php | 70 - .../QueueItemCompletedEvent/Data/Object_.php | 115 - .../Data/Object_/Author.php | 416 - .../Data/Object_/Author/Block.php | 76 - .../Data/Object_/Author/Metadata.php | 119 - .../Data/Object_/Author/Metrics.php | 111 - .../Data/Object_/Author/RiskEvaluation.php | 56 - .../Data/Object_/Author/Status.php | 17 - .../Data/Object_/Author/TrustLevel.php | 86 - .../Data/Object_/Item.php | 382 - .../Data/Object_/Item/ClientAction.php | 148 - .../Data/Object_/Item/ClientAction/Action.php | 17 - .../Object_/Item/ClientAction/Behavior.php | 15 - .../Data/Object_/Item/Content.php | 41 - .../Data/Object_/Item/Content/Audio.php | 85 - .../Data/Object_/Item/Content/Image.php | 92 - .../Data/Object_/Item/Content/Object_.php | 95 - .../Object_/Item/Content/Object_/Data.php | 37 - .../Item/Content/Object_/Data/Audio.php | 85 - .../Item/Content/Object_/Data/Image.php | 92 - .../Item/Content/Object_/Data/Text.php | 85 - .../Item/Content/Object_/Data/Video.php | 85 - .../Data/Object_/Item/Content/Text.php | 85 - .../Data/Object_/Item/Content/Video.php | 85 - .../Data/Object_/Item/Label.php | 176 - .../Data/Object_/Item/Label/Match_.php | 220 - .../Object_/Item/Label/Match_/Signals.php | 206 - .../Match_/Signals/BrandImpersonation.php | 74 - .../Data/Object_/Item/MetaType.php | 29 - .../Data/Object_/Queue.php | 62 - .../WebhookEvent/QueueItemRejectedEvent.php | 151 - .../QueueItemRejectedEvent/Data.php | 70 - .../QueueItemRejectedEvent/Data/Object_.php | 235 - .../Data/Object_/Author.php | 418 - .../Data/Object_/Author/Block.php | 76 - .../Data/Object_/Author/Metadata.php | 119 - .../Data/Object_/Author/Metrics.php | 111 - .../Data/Object_/Author/RiskEvaluation.php | 56 - .../Data/Object_/Author/Status.php | 17 - .../Data/Object_/Author/TrustLevel.php | 86 - .../Data/Object_/Item.php | 384 - .../Data/Object_/Item/ClientAction.php | 148 - .../Data/Object_/Item/ClientAction/Action.php | 17 - .../Object_/Item/ClientAction/Behavior.php | 15 - .../Data/Object_/Item/Content.php | 41 - .../Data/Object_/Item/Content/Audio.php | 85 - .../Data/Object_/Item/Content/Image.php | 92 - .../Data/Object_/Item/Content/Object_.php | 95 - .../Object_/Item/Content/Object_/Data.php | 37 - .../Item/Content/Object_/Data/Audio.php | 85 - .../Item/Content/Object_/Data/Image.php | 92 - .../Item/Content/Object_/Data/Text.php | 85 - .../Item/Content/Object_/Data/Video.php | 85 - .../Data/Object_/Item/Content/Text.php | 85 - .../Data/Object_/Item/Content/Video.php | 85 - .../Data/Object_/Item/Label.php | 176 - .../Data/Object_/Item/Label/Match_.php | 220 - .../Object_/Item/Label/Match_/Signals.php | 206 - .../Match_/Signals/BrandImpersonation.php | 74 - .../Data/Object_/Item/MetaType.php | 29 - .../Data/Object_/Queue.php | 64 - src/RequestOptions.php | 236 - src/SDKConfiguration.php | 89 + src/ServiceContracts/AccountContract.php | 26 - src/ServiceContracts/AccountRawContract.php | 29 - .../Actions/ExecuteContract.php | 62 - .../Actions/ExecuteRawContract.php | 53 - src/ServiceContracts/ActionsContract.php | 133 - src/ServiceContracts/ActionsRawContract.php | 100 - src/ServiceContracts/AuthContract.php | 42 - src/ServiceContracts/AuthRawContract.php | 47 - src/ServiceContracts/AuthorsContract.php | 132 - src/ServiceContracts/AuthorsRawContract.php | 100 - src/ServiceContracts/ContentContract.php | 72 - src/ServiceContracts/ContentRawContract.php | 48 - src/ServiceContracts/Queue/ItemsContract.php | 81 - .../Queue/ItemsRawContract.php | 72 - src/ServiceContracts/QueueContract.php | 44 - src/ServiceContracts/QueueRawContract.php | 50 - .../WebhookSecretContract.php | 26 - .../WebhookSecretRawContract.php | 29 - src/ServiceContracts/WebhooksContract.php | 99 - src/ServiceContracts/WebhooksRawContract.php | 97 - .../Wordlist/WordsContract.php | 46 - .../Wordlist/WordsRawContract.php | 53 - src/ServiceContracts/WordlistContract.php | 80 - src/ServiceContracts/WordlistRawContract.php | 80 - src/Services/AccountRawService.php | 47 - src/Services/AccountService.php | 48 - src/Services/Actions/ExecuteRawService.php | 105 - src/Services/Actions/ExecuteService.php | 112 - src/Services/ActionsRawService.php | 208 - src/Services/ActionsService.php | 225 - src/Services/AuthRawService.php | 71 - src/Services/AuthService.php | 67 - src/Services/AuthorsRawService.php | 210 - src/Services/AuthorsService.php | 224 - src/Services/ContentRawService.php | 122 - src/Services/ContentService.php | 129 - src/Services/Queue/ItemsRawService.php | 154 - src/Services/Queue/ItemsService.php | 138 - src/Services/QueueRawService.php | 84 - src/Services/QueueService.php | 83 - src/Services/WebhookSecretRawService.php | 47 - src/Services/WebhookSecretService.php | 48 - src/Services/WebhooksRawService.php | 179 - src/Services/WebhooksService.php | 168 - src/Services/Wordlist/WordsRawService.php | 93 - src/Services/Wordlist/WordsService.php | 80 - src/Services/WordlistRawService.php | 141 - src/Services/WordlistService.php | 141 - src/Utils/BigDecimalHandler.php | 65 + src/Utils/BigIntHandler.php | 65 + src/Utils/DateHandler.php | 61 + src/Utils/DateTimeHandler.php | 61 + src/Utils/DefaultRequest.php | 106 + src/Utils/DefaultResponse.php | 88 + src/Utils/DefaultStream.php | 86 + src/Utils/DefaultUri.php | 95 + src/Utils/EnumHandler.php | 59 + src/Utils/FormMetadata.php | 66 + src/Utils/Headers.php | 119 + src/Utils/JSON.php | 45 + src/Utils/MixedJSONHandler.php | 59 + src/Utils/MultipartMetadata.php | 66 + src/Utils/Options.php | 67 + src/Utils/ParamsMetadata.php | 98 + src/Utils/PathParameters.php | 159 + src/Utils/PhpDocTypeParser.php | 101 + src/Utils/QueryParameters.php | 330 + src/Utils/RequestBodies.php | 375 + src/Utils/RequestMetadata.php | 46 + src/Utils/Retry/PermanentError.php | 17 + src/Utils/Retry/RetryConfig.php | 14 + src/Utils/Retry/RetryConfigBackoff.php | 41 + src/Utils/Retry/RetryConfigNone.php | 15 + src/Utils/Retry/RetryStrategy.php | 16 + src/Utils/Retry/RetryUtils.php | 139 + src/Utils/Retry/TemporaryError.php | 21 + src/Utils/Security.php | 232 + src/Utils/SecurityClient.php | 104 + src/Utils/SecurityMetadata.php | 66 + src/Utils/ServerDetails.php | 29 + src/Utils/SpeakeasyMetadata.php | 46 + src/Utils/UnionHandler.php | 405 + src/Utils/Utils.php | 491 ++ src/Version.php | 9 - src/WebhookSecret.php | 132 + .../WebhookSecretGetResponse.php | 68 - src/WebhookSignature.php | 68 + src/WebhookSignatureException.php | 15 + src/Webhooks.php | 617 ++ src/Webhooks/WebhookCreateParams.php | 146 - .../WebhookCreateParams/EventType.php | 30 - src/Webhooks/WebhookDeleteResponse.php | 86 - src/Webhooks/WebhookGetResponse.php | 220 - src/Webhooks/WebhookGetResponse/EventType.php | 30 - .../WebhookGetResponse/PayloadVersion.php | 15 - src/Webhooks/WebhookListResponseItem.php | 220 - .../WebhookListResponseItem/EventType.php | 30 - .../PayloadVersion.php | 15 - src/Webhooks/WebhookNewResponse.php | 220 - src/Webhooks/WebhookNewResponse/EventType.php | 30 - .../WebhookNewResponse/PayloadVersion.php | 15 - src/Webhooks/WebhookUpdateParams.php | 130 - .../WebhookUpdateParams/EventType.php | 30 - src/Webhooks/WebhookUpdateResponse.php | 220 - .../WebhookUpdateResponse/EventType.php | 30 - .../WebhookUpdateResponse/PayloadVersion.php | 15 - src/Wordlist.php | 637 ++ .../WordlistGetEmbeddingStatusResponse.php | 116 - src/Wordlist/WordlistGetResponse.php | 212 - src/Wordlist/WordlistListResponseItem.php | 158 - src/Wordlist/WordlistUpdateParams.php | 149 - src/Wordlist/WordlistUpdateResponse.php | 212 - src/Wordlist/Words/WordAddParams.php | 80 - src/Wordlist/Words/WordAddResponse.php | 118 - src/Wordlist/Words/WordRemoveParams.php | 80 - src/Wordlist/Words/WordRemoveResponse.php | 118 - src/Words.php | 285 + tests/ClientTest.php | 44 - tests/Core/ModelTest.php | 144 - tests/Core/RequestTimeoutTest.php | 81 - tests/Core/StreamingTransportTest.php | 122 - tests/Core/UtilTest.php | 90 - tests/Services/AccountTest.php | 43 - tests/Services/Actions/ExecuteTest.php | 77 - tests/Services/ActionsTest.php | 123 - tests/Services/AuthTest.php | 57 - tests/Services/AuthorsTest.php | 128 - tests/Services/ContentTest.php | 105 - tests/Services/Queue/ItemsTest.php | 105 - tests/Services/QueueTest.php | 57 - tests/Services/WebhookSecretTest.php | 43 - tests/Services/WebhooksTest.php | 120 - tests/Services/Wordlist/WordsTest.php | 83 - tests/Services/WordlistTest.php | 84 - tests/UnsupportedMockTests.php | 8 - 1299 files changed, 37815 insertions(+), 62161 deletions(-) delete mode 100644 .github/workflows/release-doctor.yml delete mode 100644 .php-cs-fixer.dist.php delete mode 100644 .phpactor.json delete mode 100644 .release-please-manifest.json create mode 100644 .speakeasy/gen.lock create mode 100644 .speakeasy/gen.yaml delete mode 100644 .stats.yml create mode 100644 CONTRIBUTING.md delete mode 100644 SECURITY.md create mode 100644 USAGE.md delete mode 100644 bin/check-release-environment delete mode 100644 composer.lock create mode 100644 docs/Models/Components/AuthenticationErrorCode.md create mode 100644 docs/Models/Components/BadRequestErrorCode.md create mode 100644 docs/Models/Components/Block.md create mode 100644 docs/Models/Components/Channel.md create mode 100644 docs/Models/Components/ConflictErrorCode.md create mode 100644 docs/Models/Components/ContentType.md create mode 100644 docs/Models/Components/ErrorIssue.md create mode 100644 docs/Models/Components/FlaggingMode.md create mode 100644 docs/Models/Components/InternalServerErrorCode.md create mode 100644 docs/Models/Components/Metadata.md create mode 100644 docs/Models/Components/Metrics.md create mode 100644 docs/Models/Components/NotFoundErrorCode.md create mode 100644 docs/Models/Components/Pagination.md create mode 100644 docs/Models/Components/Path.md create mode 100644 docs/Models/Components/PermissionDeniedErrorCode.md create mode 100644 docs/Models/Components/Project.md create mode 100644 docs/Models/Components/ProjectGlobalFlaggingMode.md create mode 100644 docs/Models/Components/ProjectWithKey.md create mode 100644 docs/Models/Components/ProjectWithKeyGlobalFlaggingMode.md create mode 100644 docs/Models/Components/PublicAuthor.md create mode 100644 docs/Models/Components/RateLimitErrorCode.md create mode 100644 docs/Models/Components/RiskEvaluation.md create mode 100644 docs/Models/Components/Security.md create mode 100644 docs/Models/Components/Status.md create mode 100644 docs/Models/Components/TranscriptionQuality.md create mode 100644 docs/Models/Components/TrustLevel.md create mode 100644 docs/Models/Errors/AuthenticationError.md create mode 100644 docs/Models/Errors/BadRequestError.md create mode 100644 docs/Models/Errors/ConflictError.md create mode 100644 docs/Models/Errors/InternalServerError.md create mode 100644 docs/Models/Errors/NotFoundError.md create mode 100644 docs/Models/Errors/PermissionDeniedError.md create mode 100644 docs/Models/Errors/RateLimitError.md create mode 100644 docs/Models/Operations/ActionRequest.md create mode 100644 docs/Models/Operations/ActionStat.md create mode 100644 docs/Models/Operations/AddWordlistWordsRequest.md create mode 100644 docs/Models/Operations/AddWordlistWordsRequestBody.md create mode 100644 docs/Models/Operations/AddWordlistWordsResponse.md create mode 100644 docs/Models/Operations/AddWordlistWordsResponseBody.md create mode 100644 docs/Models/Operations/Adult.md create mode 100644 docs/Models/Operations/Alcohol.md create mode 100644 docs/Models/Operations/AudioRequest.md create mode 100644 docs/Models/Operations/AudioResponse.md create mode 100644 docs/Models/Operations/Author.md create mode 100644 docs/Models/Operations/AuthorStatus.md create mode 100644 docs/Models/Operations/Behavior.md create mode 100644 docs/Models/Operations/Block.md create mode 100644 docs/Models/Operations/BrandImpersonation.md create mode 100644 docs/Models/Operations/Cannabis.md create mode 100644 docs/Models/Operations/Casebook.md create mode 100644 docs/Models/Operations/CasebookAgreement.md create mode 100644 docs/Models/Operations/CasebookAnswer.md create mode 100644 docs/Models/Operations/ChannelCircumvention.md create mode 100644 docs/Models/Operations/CheckStatus.md create mode 100644 docs/Models/Operations/ClassifierOutput.md create mode 100644 docs/Models/Operations/ClientAction.md create mode 100644 docs/Models/Operations/CodeAbuse.md create mode 100644 docs/Models/Operations/Comparator.md create mode 100644 docs/Models/Operations/CompassionInsight.md create mode 100644 docs/Models/Operations/ContentLeafRequest.md create mode 100644 docs/Models/Operations/ContentLeafResponse.md create mode 100644 docs/Models/Operations/ContentRequest.md create mode 100644 docs/Models/Operations/ContentResponse.md create mode 100644 docs/Models/Operations/CreateActionPositionRequest.md create mode 100644 docs/Models/Operations/CreateActionPositionResponse.md create mode 100644 docs/Models/Operations/CreateActionPossibleValueRequest.md create mode 100644 docs/Models/Operations/CreateActionPossibleValueResponse.md create mode 100644 docs/Models/Operations/CreateActionQueueBehaviourRequest.md create mode 100644 docs/Models/Operations/CreateActionQueueBehaviourResponse.md create mode 100644 docs/Models/Operations/CreateActionRequest.md create mode 100644 docs/Models/Operations/CreateActionResponse.md create mode 100644 docs/Models/Operations/CreateActionResponseBody.md create mode 100644 docs/Models/Operations/CreateActionTypeRequest.md create mode 100644 docs/Models/Operations/CreateActionTypeResponse.md create mode 100644 docs/Models/Operations/CreateAuthorMetadata.md create mode 100644 docs/Models/Operations/CreateAuthorRequest.md create mode 100644 docs/Models/Operations/CreateAuthorResponse.md create mode 100644 docs/Models/Operations/CreateChannelContentType.md create mode 100644 docs/Models/Operations/CreateChannelRequest.md create mode 100644 docs/Models/Operations/CreateChannelRequestBody.md create mode 100644 docs/Models/Operations/CreateChannelResponse.md create mode 100644 docs/Models/Operations/CreateProjectRequest.md create mode 100644 docs/Models/Operations/CreateProjectResponse.md create mode 100644 docs/Models/Operations/CreateWebhookEventTypeRequest.md create mode 100644 docs/Models/Operations/CreateWebhookEventTypeResponse.md create mode 100644 docs/Models/Operations/CreateWebhookPayloadVersion.md create mode 100644 docs/Models/Operations/CreateWebhookRequest.md create mode 100644 docs/Models/Operations/CreateWebhookResponse.md create mode 100644 docs/Models/Operations/CreateWebhookResponseBody.md create mode 100644 docs/Models/Operations/Crypto.md create mode 100644 docs/Models/Operations/CuriosityInsight.md create mode 100644 docs/Models/Operations/CurrentProject.md create mode 100644 docs/Models/Operations/DailyReviewCount.md create mode 100644 docs/Models/Operations/DataAudio.md create mode 100644 docs/Models/Operations/DataImage.md create mode 100644 docs/Models/Operations/DataText.md create mode 100644 docs/Models/Operations/DataVideo.md create mode 100644 docs/Models/Operations/DeleteActionRequest.md create mode 100644 docs/Models/Operations/DeleteActionResponse.md create mode 100644 docs/Models/Operations/DeleteActionResponseBody.md create mode 100644 docs/Models/Operations/DeleteAuthorRequest.md create mode 100644 docs/Models/Operations/DeleteAuthorResponse.md create mode 100644 docs/Models/Operations/DeleteAuthorResponseBody.md create mode 100644 docs/Models/Operations/DeleteChannelRequest.md create mode 100644 docs/Models/Operations/DeleteChannelResponse.md create mode 100644 docs/Models/Operations/DeleteChannelResponseBody.md create mode 100644 docs/Models/Operations/DeleteProjectRequest.md create mode 100644 docs/Models/Operations/DeleteProjectResponse.md create mode 100644 docs/Models/Operations/DeleteProjectResponseBody.md create mode 100644 docs/Models/Operations/DeleteWebhookRequest.md create mode 100644 docs/Models/Operations/DeleteWebhookResponse.md create mode 100644 docs/Models/Operations/DeleteWebhookResponseBody.md create mode 100644 docs/Models/Operations/Drugs.md create mode 100644 docs/Models/Operations/DuplicateChannelRequest.md create mode 100644 docs/Models/Operations/DuplicateChannelRequestBody.md create mode 100644 docs/Models/Operations/DuplicateChannelResponse.md create mode 100644 docs/Models/Operations/DuplicateProjectRequest.md create mode 100644 docs/Models/Operations/DuplicateProjectRequestBody.md create mode 100644 docs/Models/Operations/DuplicateProjectResponse.md create mode 100644 docs/Models/Operations/Entities1.md create mode 100644 docs/Models/Operations/Entities2.md create mode 100644 docs/Models/Operations/EntityMatcherOutput.md create mode 100644 docs/Models/Operations/Error.md create mode 100644 docs/Models/Operations/Evaluation.md create mode 100644 docs/Models/Operations/ExecuteActionRequest.md create mode 100644 docs/Models/Operations/ExecuteActionResponse.md create mode 100644 docs/Models/Operations/ExecuteActionResponseBody.md create mode 100644 docs/Models/Operations/Extremism.md create mode 100644 docs/Models/Operations/FaceDetection.md create mode 100644 docs/Models/Operations/Filter.md create mode 100644 docs/Models/Operations/FilterLabel.md create mode 100644 docs/Models/Operations/FlaggedContentTrend.md create mode 100644 docs/Models/Operations/FlaggingMode.md create mode 100644 docs/Models/Operations/Gambling.md create mode 100644 docs/Models/Operations/GetAccountResponse.md create mode 100644 docs/Models/Operations/GetAccountResponseBody.md create mode 100644 docs/Models/Operations/GetActionPosition.md create mode 100644 docs/Models/Operations/GetActionPossibleValue.md create mode 100644 docs/Models/Operations/GetActionQueueBehaviour.md create mode 100644 docs/Models/Operations/GetActionRequest.md create mode 100644 docs/Models/Operations/GetActionResponse.md create mode 100644 docs/Models/Operations/GetActionResponseBody.md create mode 100644 docs/Models/Operations/GetActionType.md create mode 100644 docs/Models/Operations/GetAuthorRequest.md create mode 100644 docs/Models/Operations/GetAuthorResponse.md create mode 100644 docs/Models/Operations/GetChannelRequest.md create mode 100644 docs/Models/Operations/GetChannelResponse.md create mode 100644 docs/Models/Operations/GetProjectRequest.md create mode 100644 docs/Models/Operations/GetProjectResponse.md create mode 100644 docs/Models/Operations/GetQueueContentType.md create mode 100644 docs/Models/Operations/GetQueueRecommendationAction.md create mode 100644 docs/Models/Operations/GetQueueRequest.md create mode 100644 docs/Models/Operations/GetQueueResponse.md create mode 100644 docs/Models/Operations/GetQueueResponseBody.md create mode 100644 docs/Models/Operations/GetQueueStatsRequest.md create mode 100644 docs/Models/Operations/GetQueueStatsResponse.md create mode 100644 docs/Models/Operations/GetQueueStatsResponseBody.md create mode 100644 docs/Models/Operations/GetQueueType.md create mode 100644 docs/Models/Operations/GetWebhookEventType.md create mode 100644 docs/Models/Operations/GetWebhookPayloadVersion.md create mode 100644 docs/Models/Operations/GetWebhookRequest.md create mode 100644 docs/Models/Operations/GetWebhookResponse.md create mode 100644 docs/Models/Operations/GetWebhookResponseBody.md create mode 100644 docs/Models/Operations/GetWebhookSecretResponse.md create mode 100644 docs/Models/Operations/GetWebhookSecretResponseBody.md create mode 100644 docs/Models/Operations/GetWordlistEmbeddingStatusRequest.md create mode 100644 docs/Models/Operations/GetWordlistEmbeddingStatusResponse.md create mode 100644 docs/Models/Operations/GetWordlistEmbeddingStatusResponseBody.md create mode 100644 docs/Models/Operations/GetWordlistRequest.md create mode 100644 docs/Models/Operations/GetWordlistResponse.md create mode 100644 docs/Models/Operations/GetWordlistResponseBody.md create mode 100644 docs/Models/Operations/GlobalFlaggingMode.md create mode 100644 docs/Models/Operations/Guideline.md create mode 100644 docs/Models/Operations/Hate.md create mode 100644 docs/Models/Operations/IllegalTrade.md create mode 100644 docs/Models/Operations/Illicit.md create mode 100644 docs/Models/Operations/IllicitAlcohol.md create mode 100644 docs/Models/Operations/IllicitDrugs.md create mode 100644 docs/Models/Operations/IllicitFirearms.md create mode 100644 docs/Models/Operations/IllicitGambling.md create mode 100644 docs/Models/Operations/IllicitTobacco.md create mode 100644 docs/Models/Operations/ImageRequest.md create mode 100644 docs/Models/Operations/ImageResponse.md create mode 100644 docs/Models/Operations/Insight.md create mode 100644 docs/Models/Operations/IsFlagged.md create mode 100644 docs/Models/Operations/LanguageInsight.md create mode 100644 docs/Models/Operations/ListActionsData.md create mode 100644 docs/Models/Operations/ListActionsPosition.md create mode 100644 docs/Models/Operations/ListActionsPossibleValue.md create mode 100644 docs/Models/Operations/ListActionsQueueBehaviour.md create mode 100644 docs/Models/Operations/ListActionsRequest.md create mode 100644 docs/Models/Operations/ListActionsResponse.md create mode 100644 docs/Models/Operations/ListActionsResponseBody.md create mode 100644 docs/Models/Operations/ListActionsType.md create mode 100644 docs/Models/Operations/ListAuthorsRequest.md create mode 100644 docs/Models/Operations/ListAuthorsResponse.md create mode 100644 docs/Models/Operations/ListAuthorsResponseBody.md create mode 100644 docs/Models/Operations/ListAuthorsSortDirection.md create mode 100644 docs/Models/Operations/ListChannelsRequest.md create mode 100644 docs/Models/Operations/ListChannelsResponse.md create mode 100644 docs/Models/Operations/ListChannelsResponseBody.md create mode 100644 docs/Models/Operations/ListProjectsRequest.md create mode 100644 docs/Models/Operations/ListProjectsResponse.md create mode 100644 docs/Models/Operations/ListProjectsResponseBody.md create mode 100644 docs/Models/Operations/ListQueueItemsAction.md create mode 100644 docs/Models/Operations/ListQueueItemsData.md create mode 100644 docs/Models/Operations/ListQueueItemsLabel.md create mode 100644 docs/Models/Operations/ListQueueItemsRequest.md create mode 100644 docs/Models/Operations/ListQueueItemsResponse.md create mode 100644 docs/Models/Operations/ListQueueItemsResponseBody.md create mode 100644 docs/Models/Operations/ListQueueItemsSortDirection.md create mode 100644 docs/Models/Operations/ListQueueItemsStatus.md create mode 100644 docs/Models/Operations/ListWebhooksData.md create mode 100644 docs/Models/Operations/ListWebhooksEventType.md create mode 100644 docs/Models/Operations/ListWebhooksPayloadVersion.md create mode 100644 docs/Models/Operations/ListWebhooksRequest.md create mode 100644 docs/Models/Operations/ListWebhooksResponse.md create mode 100644 docs/Models/Operations/ListWebhooksResponseBody.md create mode 100644 docs/Models/Operations/ListWordlistsData.md create mode 100644 docs/Models/Operations/ListWordlistsRequest.md create mode 100644 docs/Models/Operations/ListWordlistsResponse.md create mode 100644 docs/Models/Operations/ListWordlistsResponseBody.md create mode 100644 docs/Models/Operations/LowQualityContent.md create mode 100644 docs/Models/Operations/MatchT.md create mode 100644 docs/Models/Operations/MatchedRule.md create mode 100644 docs/Models/Operations/MediaType.md create mode 100644 docs/Models/Operations/Meta.md create mode 100644 docs/Models/Operations/MetaStatus.md create mode 100644 docs/Models/Operations/MetaType.md create mode 100644 docs/Models/Operations/MetadataFilter.md create mode 100644 docs/Models/Operations/Method.md create mode 100644 docs/Models/Operations/Modified.md create mode 100644 docs/Models/Operations/ObjectT.md create mode 100644 docs/Models/Operations/PIIMasking.md create mode 100644 docs/Models/Operations/PersonalInformation.md create mode 100644 docs/Models/Operations/PersonalStoryInsight.md create mode 100644 docs/Models/Operations/PolicyRequest.md create mode 100644 docs/Models/Operations/PolicyResponse.md create mode 100644 docs/Models/Operations/Political.md create mode 100644 docs/Models/Operations/Profanity.md create mode 100644 docs/Models/Operations/Promotion.md create mode 100644 docs/Models/Operations/Queue.md create mode 100644 docs/Models/Operations/ReasonCode.md create mode 100644 docs/Models/Operations/ReasonCodeEnum.md create mode 100644 docs/Models/Operations/Recommendation.md create mode 100644 docs/Models/Operations/Religion.md create mode 100644 docs/Models/Operations/RemoveWordlistWordsRequest.md create mode 100644 docs/Models/Operations/RemoveWordlistWordsResponse.md create mode 100644 docs/Models/Operations/RemoveWordlistWordsResponseBody.md create mode 100644 docs/Models/Operations/ResolveQueueItemRequest.md create mode 100644 docs/Models/Operations/ResolveQueueItemRequestBody.md create mode 100644 docs/Models/Operations/ResolveQueueItemResponse.md create mode 100644 docs/Models/Operations/ResolveQueueItemResponseBody.md create mode 100644 docs/Models/Operations/RespectInsight.md create mode 100644 docs/Models/Operations/ReviewStats.md create mode 100644 docs/Models/Operations/Scores.md create mode 100644 docs/Models/Operations/SelfHarm.md create mode 100644 docs/Models/Operations/SelfPromotion.md create mode 100644 docs/Models/Operations/SentimentInsight.md create mode 100644 docs/Models/Operations/Sexual.md create mode 100644 docs/Models/Operations/SexualMinors.md create mode 100644 docs/Models/Operations/SexualSolicitation.md create mode 100644 docs/Models/Operations/SignalsRequest.md create mode 100644 docs/Models/Operations/SignalsResponse.md create mode 100644 docs/Models/Operations/SortBy.md create mode 100644 docs/Models/Operations/SortField.md create mode 100644 docs/Models/Operations/Spam.md create mode 100644 docs/Models/Operations/SubmitContentLabel.md create mode 100644 docs/Models/Operations/SubmitContentRecommendationAction.md create mode 100644 docs/Models/Operations/SubmitContentRequest.md create mode 100644 docs/Models/Operations/SubmitContentResponse.md create mode 100644 docs/Models/Operations/SubmitContentResponseBody.md create mode 100644 docs/Models/Operations/TextRequest.md create mode 100644 docs/Models/Operations/TextResponse.md create mode 100644 docs/Models/Operations/Threat.md create mode 100644 docs/Models/Operations/Tobacco.md create mode 100644 docs/Models/Operations/TopAction.md create mode 100644 docs/Models/Operations/TopReviewer.md create mode 100644 docs/Models/Operations/Topic.md create mode 100644 docs/Models/Operations/Toxicity.md create mode 100644 docs/Models/Operations/TranscriptionQuality.md create mode 100644 docs/Models/Operations/Trends.md create mode 100644 docs/Models/Operations/TrustLevel.md create mode 100644 docs/Models/Operations/URLMasking.md create mode 100644 docs/Models/Operations/URLRisk.md create mode 100644 docs/Models/Operations/UnicodeSpoofing.md create mode 100644 docs/Models/Operations/UnresolveQueueItemRequest.md create mode 100644 docs/Models/Operations/UnresolveQueueItemRequestBody.md create mode 100644 docs/Models/Operations/UnresolveQueueItemResponse.md create mode 100644 docs/Models/Operations/UnresolveQueueItemResponseBody.md create mode 100644 docs/Models/Operations/UpdateActionPositionRequest.md create mode 100644 docs/Models/Operations/UpdateActionPositionResponse.md create mode 100644 docs/Models/Operations/UpdateActionPossibleValueRequest.md create mode 100644 docs/Models/Operations/UpdateActionPossibleValueResponse.md create mode 100644 docs/Models/Operations/UpdateActionQueueBehaviourRequest.md create mode 100644 docs/Models/Operations/UpdateActionQueueBehaviourResponse.md create mode 100644 docs/Models/Operations/UpdateActionRequest.md create mode 100644 docs/Models/Operations/UpdateActionRequestBody.md create mode 100644 docs/Models/Operations/UpdateActionResponse.md create mode 100644 docs/Models/Operations/UpdateActionResponseBody.md create mode 100644 docs/Models/Operations/UpdateActionTypeRequest.md create mode 100644 docs/Models/Operations/UpdateActionTypeResponse.md create mode 100644 docs/Models/Operations/UpdateAuthorMetadata.md create mode 100644 docs/Models/Operations/UpdateAuthorRequest.md create mode 100644 docs/Models/Operations/UpdateAuthorRequestBody.md create mode 100644 docs/Models/Operations/UpdateAuthorResponse.md create mode 100644 docs/Models/Operations/UpdateChannelContentType.md create mode 100644 docs/Models/Operations/UpdateChannelRequest.md create mode 100644 docs/Models/Operations/UpdateChannelRequestBody.md create mode 100644 docs/Models/Operations/UpdateChannelResponse.md create mode 100644 docs/Models/Operations/UpdateProjectRequest.md create mode 100644 docs/Models/Operations/UpdateProjectRequestBody.md create mode 100644 docs/Models/Operations/UpdateProjectResponse.md create mode 100644 docs/Models/Operations/UpdateWebhookEventTypeRequest.md create mode 100644 docs/Models/Operations/UpdateWebhookEventTypeResponse.md create mode 100644 docs/Models/Operations/UpdateWebhookPayloadVersion.md create mode 100644 docs/Models/Operations/UpdateWebhookRequest.md create mode 100644 docs/Models/Operations/UpdateWebhookRequestBody.md create mode 100644 docs/Models/Operations/UpdateWebhookResponse.md create mode 100644 docs/Models/Operations/UpdateWebhookResponseBody.md create mode 100644 docs/Models/Operations/UpdateWordlistRequest.md create mode 100644 docs/Models/Operations/UpdateWordlistRequestBody.md create mode 100644 docs/Models/Operations/UpdateWordlistResponse.md create mode 100644 docs/Models/Operations/UpdateWordlistResponseBody.md create mode 100644 docs/Models/Operations/Value.md create mode 100644 docs/Models/Operations/Verdict.md create mode 100644 docs/Models/Operations/VideoRequest.md create mode 100644 docs/Models/Operations/VideoResponse.md create mode 100644 docs/Models/Operations/Violence.md create mode 100644 docs/Models/Operations/Weapons.md create mode 100644 docs/Models/Operations/WithinUnit.md create mode 100644 docs/sdks/account/README.md create mode 100644 docs/sdks/actions/README.md create mode 100644 docs/sdks/authors/README.md create mode 100644 docs/sdks/channels/README.md create mode 100644 docs/sdks/content/README.md create mode 100644 docs/sdks/items/README.md create mode 100644 docs/sdks/projects/README.md create mode 100644 docs/sdks/queue/README.md create mode 100644 docs/sdks/webhooks/README.md create mode 100644 docs/sdks/webhooksecret/README.md create mode 100644 docs/sdks/wordlist/README.md create mode 100644 docs/sdks/words/README.md delete mode 100644 phpstan.dist.neon create mode 100644 phpstan.neon create mode 100644 phpunit.xml delete mode 100644 phpunit.xml.dist create mode 100644 pint.json create mode 100644 rector.php delete mode 100644 release-please-config.json delete mode 100755 scripts/bootstrap delete mode 100755 scripts/clean delete mode 100755 scripts/format delete mode 100755 scripts/lint delete mode 100755 scripts/test create mode 100644 src/Account.php delete mode 100644 src/Account/AccountListResponse.php delete mode 100644 src/Account/AccountListResponse/CurrentProject.php create mode 100644 src/Actions.php delete mode 100644 src/Actions/ActionCreateParams.php delete mode 100644 src/Actions/ActionCreateParams/Position.php delete mode 100644 src/Actions/ActionCreateParams/PossibleValue.php delete mode 100644 src/Actions/ActionCreateParams/QueueBehaviour.php delete mode 100644 src/Actions/ActionCreateParams/Type.php delete mode 100644 src/Actions/ActionDeleteResponse.php delete mode 100644 src/Actions/ActionGetResponse.php delete mode 100644 src/Actions/ActionGetResponse/Position.php delete mode 100644 src/Actions/ActionGetResponse/PossibleValue.php delete mode 100644 src/Actions/ActionGetResponse/QueueBehaviour.php delete mode 100644 src/Actions/ActionGetResponse/Type.php delete mode 100644 src/Actions/ActionListParams.php delete mode 100644 src/Actions/ActionListResponseItem.php delete mode 100644 src/Actions/ActionListResponseItem/Position.php delete mode 100644 src/Actions/ActionListResponseItem/PossibleValue.php delete mode 100644 src/Actions/ActionListResponseItem/QueueBehaviour.php delete mode 100644 src/Actions/ActionListResponseItem/Type.php delete mode 100644 src/Actions/ActionNewResponse.php delete mode 100644 src/Actions/ActionNewResponse/Position.php delete mode 100644 src/Actions/ActionNewResponse/PossibleValue.php delete mode 100644 src/Actions/ActionNewResponse/QueueBehaviour.php delete mode 100644 src/Actions/ActionNewResponse/Type.php delete mode 100644 src/Actions/ActionUpdateParams.php delete mode 100644 src/Actions/ActionUpdateParams/Position.php delete mode 100644 src/Actions/ActionUpdateParams/PossibleValue.php delete mode 100644 src/Actions/ActionUpdateParams/QueueBehaviour.php delete mode 100644 src/Actions/ActionUpdateParams/Type.php delete mode 100644 src/Actions/ActionUpdateResponse.php delete mode 100644 src/Actions/ActionUpdateResponse/Position.php delete mode 100644 src/Actions/ActionUpdateResponse/PossibleValue.php delete mode 100644 src/Actions/ActionUpdateResponse/QueueBehaviour.php delete mode 100644 src/Actions/ActionUpdateResponse/Type.php delete mode 100644 src/Actions/Execute/ExecuteExecuteByIDParams.php delete mode 100644 src/Actions/Execute/ExecuteExecuteByIDResponse.php delete mode 100644 src/Actions/Execute/ExecuteExecuteParams.php delete mode 100644 src/Actions/Execute/ExecuteExecuteResponse.php delete mode 100644 src/Auth/AuthGetResponse.php delete mode 100644 src/Auth/AuthNewResponse.php create mode 100644 src/Authors.php delete mode 100644 src/Authors/AuthorCreateParams.php delete mode 100644 src/Authors/AuthorCreateParams/Metadata.php delete mode 100644 src/Authors/AuthorDeleteResponse.php delete mode 100644 src/Authors/AuthorGetResponse.php delete mode 100644 src/Authors/AuthorGetResponse/Block.php delete mode 100644 src/Authors/AuthorGetResponse/Metadata.php delete mode 100644 src/Authors/AuthorGetResponse/Metrics.php delete mode 100644 src/Authors/AuthorGetResponse/RiskEvaluation.php delete mode 100644 src/Authors/AuthorGetResponse/Status.php delete mode 100644 src/Authors/AuthorGetResponse/TrustLevel.php delete mode 100644 src/Authors/AuthorListParams.php delete mode 100644 src/Authors/AuthorListParams/SortBy.php delete mode 100644 src/Authors/AuthorListParams/SortDirection.php delete mode 100644 src/Authors/AuthorListResponse.php delete mode 100644 src/Authors/AuthorListResponse/Author.php delete mode 100644 src/Authors/AuthorListResponse/Author/Block.php delete mode 100644 src/Authors/AuthorListResponse/Author/Metadata.php delete mode 100644 src/Authors/AuthorListResponse/Author/Metrics.php delete mode 100644 src/Authors/AuthorListResponse/Author/RiskEvaluation.php delete mode 100644 src/Authors/AuthorListResponse/Author/Status.php delete mode 100644 src/Authors/AuthorListResponse/Author/TrustLevel.php delete mode 100644 src/Authors/AuthorListResponse/Pagination.php delete mode 100644 src/Authors/AuthorNewResponse.php delete mode 100644 src/Authors/AuthorNewResponse/Block.php delete mode 100644 src/Authors/AuthorNewResponse/Metadata.php delete mode 100644 src/Authors/AuthorNewResponse/Metrics.php delete mode 100644 src/Authors/AuthorNewResponse/RiskEvaluation.php delete mode 100644 src/Authors/AuthorNewResponse/Status.php delete mode 100644 src/Authors/AuthorNewResponse/TrustLevel.php delete mode 100644 src/Authors/AuthorUpdateParams.php delete mode 100644 src/Authors/AuthorUpdateParams/Metadata.php delete mode 100644 src/Authors/AuthorUpdateResponse.php delete mode 100644 src/Authors/AuthorUpdateResponse/Block.php delete mode 100644 src/Authors/AuthorUpdateResponse/Metadata.php delete mode 100644 src/Authors/AuthorUpdateResponse/Metrics.php delete mode 100644 src/Authors/AuthorUpdateResponse/RiskEvaluation.php delete mode 100644 src/Authors/AuthorUpdateResponse/Status.php delete mode 100644 src/Authors/AuthorUpdateResponse/TrustLevel.php create mode 100644 src/Channels.php delete mode 100644 src/Client.php create mode 100644 src/Content.php delete mode 100644 src/Content/ContentStreamParams.php delete mode 100644 src/Content/ContentStreamParams/SecWebSocketProtocol.php delete mode 100644 src/Content/ContentSubmitParams.php delete mode 100644 src/Content/ContentSubmitParams/ClientAction.php delete mode 100644 src/Content/ContentSubmitParams/ClientAction/Action.php delete mode 100644 src/Content/ContentSubmitParams/ClientAction/Behavior.php delete mode 100644 src/Content/ContentSubmitParams/Content.php delete mode 100644 src/Content/ContentSubmitParams/Content/Audio.php delete mode 100644 src/Content/ContentSubmitParams/Content/Image.php delete mode 100644 src/Content/ContentSubmitParams/Content/Object_.php delete mode 100644 src/Content/ContentSubmitParams/Content/Object_/Data.php delete mode 100644 src/Content/ContentSubmitParams/Content/Object_/Data/Audio.php delete mode 100644 src/Content/ContentSubmitParams/Content/Object_/Data/Image.php delete mode 100644 src/Content/ContentSubmitParams/Content/Object_/Data/Text.php delete mode 100644 src/Content/ContentSubmitParams/Content/Object_/Data/Video.php delete mode 100644 src/Content/ContentSubmitParams/Content/Text.php delete mode 100644 src/Content/ContentSubmitParams/Content/Video.php delete mode 100644 src/Content/ContentSubmitParams/MetaType.php delete mode 100644 src/Content/ContentSubmitParams/Policy.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Adult.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Cannabis.php delete mode 100644 src/Content/ContentSubmitParams/Policy/CodeAbuse.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Crypto.php delete mode 100644 src/Content/ContentSubmitParams/Policy/FaceDetection.php delete mode 100644 src/Content/ContentSubmitParams/Policy/FaceDetection/Comparator.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Flirtation.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Guideline.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Hate.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Illicit.php delete mode 100644 src/Content/ContentSubmitParams/Policy/IllicitAlcohol.php delete mode 100644 src/Content/ContentSubmitParams/Policy/IllicitDrugs.php delete mode 100644 src/Content/ContentSubmitParams/Policy/IllicitFirearms.php delete mode 100644 src/Content/ContentSubmitParams/Policy/IllicitGambling.php delete mode 100644 src/Content/ContentSubmitParams/Policy/IllicitTobacco.php delete mode 100644 src/Content/ContentSubmitParams/Policy/LowQualityContent.php delete mode 100644 src/Content/ContentSubmitParams/Policy/PersonalInformation.php delete mode 100644 src/Content/ContentSubmitParams/Policy/PiiMasking.php delete mode 100644 src/Content/ContentSubmitParams/Policy/PiiMasking/Entity.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Political.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Profanity.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Religion.php delete mode 100644 src/Content/ContentSubmitParams/Policy/SelfHarm.php delete mode 100644 src/Content/ContentSubmitParams/Policy/SelfPromotion.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Sexual.php delete mode 100644 src/Content/ContentSubmitParams/Policy/SexualMinors.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Spam.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Toxicity.php delete mode 100644 src/Content/ContentSubmitParams/Policy/ToxicitySevere.php delete mode 100644 src/Content/ContentSubmitParams/Policy/URLMasking.php delete mode 100644 src/Content/ContentSubmitParams/Policy/URLMasking/Entity.php delete mode 100644 src/Content/ContentSubmitParams/Policy/URLRisk.php delete mode 100644 src/Content/ContentSubmitParams/Policy/UnicodeSpoofing.php delete mode 100644 src/Content/ContentSubmitParams/Policy/UnicodeSpoofing/Signal.php delete mode 100644 src/Content/ContentSubmitParams/Policy/Violence.php delete mode 100644 src/Content/ContentSubmitResponse.php delete mode 100644 src/Content/ContentSubmitResponse/Author.php delete mode 100644 src/Content/ContentSubmitResponse/Author/Block.php delete mode 100644 src/Content/ContentSubmitResponse/Author/Status.php delete mode 100644 src/Content/ContentSubmitResponse/Author/TrustLevel.php delete mode 100644 src/Content/ContentSubmitResponse/Casebook.php delete mode 100644 src/Content/ContentSubmitResponse/Casebook/Topic.php delete mode 100644 src/Content/ContentSubmitResponse/Casebook/Verdict.php delete mode 100644 src/Content/ContentSubmitResponse/Content.php delete mode 100644 src/Content/ContentSubmitResponse/Content/Modified.php delete mode 100644 src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent.php delete mode 100644 src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Audio.php delete mode 100644 src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Image.php delete mode 100644 src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Text.php delete mode 100644 src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Video.php delete mode 100644 src/Content/ContentSubmitResponse/Error.php delete mode 100644 src/Content/ContentSubmitResponse/Evaluation.php delete mode 100644 src/Content/ContentSubmitResponse/Insight.php delete mode 100644 src/Content/ContentSubmitResponse/Insight/LanguageInsight.php delete mode 100644 src/Content/ContentSubmitResponse/Insight/SentimentInsight.php delete mode 100644 src/Content/ContentSubmitResponse/Insight/SentimentInsight/Value.php delete mode 100644 src/Content/ContentSubmitResponse/Meta.php delete mode 100644 src/Content/ContentSubmitResponse/Meta/Status.php delete mode 100644 src/Content/ContentSubmitResponse/Policy.php delete mode 100644 src/Content/ContentSubmitResponse/Policy/ClassifierOutput.php delete mode 100644 src/Content/ContentSubmitResponse/Policy/ClassifierOutput/Label.php delete mode 100644 src/Content/ContentSubmitResponse/Policy/EntityMatcherOutput.php delete mode 100644 src/Content/ContentSubmitResponse/Policy/EntityMatcherOutput/Match_.php delete mode 100644 src/Content/ContentSubmitResponse/Policy/EntityMatcherOutput/Match_/Signals.php delete mode 100644 src/Content/ContentSubmitResponse/Policy/EntityMatcherOutput/Match_/Signals/BrandImpersonation.php delete mode 100644 src/Content/ContentSubmitResponse/Policy/EntityMatcherOutput/Match_/Signals/BrandImpersonation/Method.php delete mode 100644 src/Content/ContentSubmitResponse/Recommendation.php delete mode 100644 src/Content/ContentSubmitResponse/Recommendation/Action.php delete mode 100644 src/Content/ContentSubmitResponse/Recommendation/MatchedRule.php delete mode 100644 src/Content/ContentSubmitResponse/Recommendation/ReasonCode.php delete mode 100644 src/Core.php delete mode 100644 src/Core/Attributes/Optional.php delete mode 100644 src/Core/Attributes/Required.php delete mode 100644 src/Core/BaseClient.php delete mode 100644 src/Core/Concerns/ResponseProxy.php delete mode 100644 src/Core/Concerns/SdkEnum.php delete mode 100644 src/Core/Concerns/SdkModel.php delete mode 100644 src/Core/Concerns/SdkPage.php delete mode 100644 src/Core/Concerns/SdkParams.php delete mode 100644 src/Core/Concerns/SdkUnion.php delete mode 100644 src/Core/Contracts/BaseModel.php delete mode 100644 src/Core/Contracts/BasePage.php delete mode 100644 src/Core/Contracts/BaseResponse.php delete mode 100644 src/Core/Contracts/BaseStream.php delete mode 100644 src/Core/Conversion.php delete mode 100644 src/Core/Conversion/CoerceState.php delete mode 100644 src/Core/Conversion/Concerns/ArrayOf.php delete mode 100644 src/Core/Conversion/Contracts/Converter.php delete mode 100644 src/Core/Conversion/Contracts/ConverterSource.php delete mode 100644 src/Core/Conversion/DumpState.php delete mode 100644 src/Core/Conversion/EnumOf.php delete mode 100644 src/Core/Conversion/ListOf.php delete mode 100644 src/Core/Conversion/MapOf.php delete mode 100644 src/Core/Conversion/ModelOf.php delete mode 100644 src/Core/Conversion/PropertyInfo.php delete mode 100644 src/Core/Conversion/UnionOf.php delete mode 100644 src/Core/Exceptions/APIConnectionException.php delete mode 100644 src/Core/Exceptions/APIException.php delete mode 100644 src/Core/Exceptions/APIStatusException.php delete mode 100644 src/Core/Exceptions/APITimeoutException.php delete mode 100644 src/Core/Exceptions/AuthenticationException.php delete mode 100644 src/Core/Exceptions/BadRequestException.php delete mode 100644 src/Core/Exceptions/ConflictException.php delete mode 100644 src/Core/Exceptions/InternalServerException.php delete mode 100644 src/Core/Exceptions/ModerationAPIException.php delete mode 100644 src/Core/Exceptions/NotFoundException.php delete mode 100644 src/Core/Exceptions/PermissionDeniedException.php delete mode 100644 src/Core/Exceptions/RateLimitException.php delete mode 100644 src/Core/Exceptions/UnprocessableEntityException.php delete mode 100644 src/Core/FileParam.php delete mode 100644 src/Core/Implementation/RawResponse.php delete mode 100644 src/Core/Implementation/StreamingHttpClient.php delete mode 100644 src/Core/Util.php create mode 100644 src/Hooks/AfterErrorContext.php create mode 100644 src/Hooks/AfterErrorHook.php create mode 100644 src/Hooks/AfterSuccessContext.php create mode 100644 src/Hooks/AfterSuccessHook.php create mode 100644 src/Hooks/BeforeRequestContext.php create mode 100644 src/Hooks/BeforeRequestHook.php create mode 100644 src/Hooks/Credentials.php create mode 100644 src/Hooks/ErrorResponseContext.php create mode 100644 src/Hooks/FailEarlyException.php create mode 100644 src/Hooks/HookContext.php create mode 100644 src/Hooks/Hooks.php create mode 100644 src/Hooks/SDKHooks.php create mode 100644 src/Hooks/SDKInitHook.php create mode 100644 src/Hooks/Session.php create mode 100644 src/Hooks/TokenResponse.php create mode 100644 src/Items.php create mode 100644 src/Models/Components/AuthenticationErrorCode.php create mode 100644 src/Models/Components/BadRequestErrorCode.php create mode 100644 src/Models/Components/Block.php create mode 100644 src/Models/Components/Channel.php create mode 100644 src/Models/Components/ConflictErrorCode.php create mode 100644 src/Models/Components/ContentType.php create mode 100644 src/Models/Components/ErrorIssue.php create mode 100644 src/Models/Components/FlaggingMode.php create mode 100644 src/Models/Components/InternalServerErrorCode.php create mode 100644 src/Models/Components/Metadata.php create mode 100644 src/Models/Components/Metrics.php create mode 100644 src/Models/Components/NotFoundErrorCode.php create mode 100644 src/Models/Components/Pagination.php create mode 100644 src/Models/Components/PermissionDeniedErrorCode.php create mode 100644 src/Models/Components/Project.php create mode 100644 src/Models/Components/ProjectGlobalFlaggingMode.php create mode 100644 src/Models/Components/ProjectWithKey.php create mode 100644 src/Models/Components/ProjectWithKeyGlobalFlaggingMode.php create mode 100644 src/Models/Components/PublicAuthor.php create mode 100644 src/Models/Components/RateLimitErrorCode.php create mode 100644 src/Models/Components/RiskEvaluation.php create mode 100644 src/Models/Components/Security.php create mode 100644 src/Models/Components/Status.php create mode 100644 src/Models/Components/TranscriptionQuality.php create mode 100644 src/Models/Components/TrustLevel.php create mode 100644 src/Models/Errors/APIException.php create mode 100644 src/Models/Errors/AuthenticationError.php create mode 100644 src/Models/Errors/AuthenticationErrorThrowable.php create mode 100644 src/Models/Errors/BadRequestError.php create mode 100644 src/Models/Errors/BadRequestErrorThrowable.php create mode 100644 src/Models/Errors/ConflictError.php create mode 100644 src/Models/Errors/ConflictErrorThrowable.php create mode 100644 src/Models/Errors/InternalServerError.php create mode 100644 src/Models/Errors/InternalServerErrorThrowable.php create mode 100644 src/Models/Errors/NotFoundError.php create mode 100644 src/Models/Errors/NotFoundErrorThrowable.php create mode 100644 src/Models/Errors/PermissionDeniedError.php create mode 100644 src/Models/Errors/PermissionDeniedErrorThrowable.php create mode 100644 src/Models/Errors/RateLimitError.php create mode 100644 src/Models/Errors/RateLimitErrorThrowable.php create mode 100644 src/Models/Operations/ActionRequest.php create mode 100644 src/Models/Operations/ActionStat.php create mode 100644 src/Models/Operations/AddWordlistWordsRequest.php create mode 100644 src/Models/Operations/AddWordlistWordsRequestBody.php create mode 100644 src/Models/Operations/AddWordlistWordsResponse.php create mode 100644 src/Models/Operations/AddWordlistWordsResponseBody.php create mode 100644 src/Models/Operations/Adult.php create mode 100644 src/Models/Operations/Alcohol.php create mode 100644 src/Models/Operations/AudioRequest.php create mode 100644 src/Models/Operations/AudioResponse.php create mode 100644 src/Models/Operations/Author.php create mode 100644 src/Models/Operations/AuthorStatus.php create mode 100644 src/Models/Operations/Behavior.php create mode 100644 src/Models/Operations/Block.php create mode 100644 src/Models/Operations/BrandImpersonation.php create mode 100644 src/Models/Operations/Cannabis.php create mode 100644 src/Models/Operations/Casebook.php create mode 100644 src/Models/Operations/CasebookAgreement.php create mode 100644 src/Models/Operations/CasebookAnswer.php create mode 100644 src/Models/Operations/ChannelCircumvention.php create mode 100644 src/Models/Operations/CheckStatus.php create mode 100644 src/Models/Operations/ClassifierOutput.php create mode 100644 src/Models/Operations/ClientAction.php create mode 100644 src/Models/Operations/CodeAbuse.php create mode 100644 src/Models/Operations/Comparator.php create mode 100644 src/Models/Operations/CompassionInsight.php create mode 100644 src/Models/Operations/ContentResponse.php create mode 100644 src/Models/Operations/CreateActionPositionRequest.php create mode 100644 src/Models/Operations/CreateActionPositionResponse.php create mode 100644 src/Models/Operations/CreateActionPossibleValueRequest.php create mode 100644 src/Models/Operations/CreateActionPossibleValueResponse.php create mode 100644 src/Models/Operations/CreateActionQueueBehaviourRequest.php create mode 100644 src/Models/Operations/CreateActionQueueBehaviourResponse.php create mode 100644 src/Models/Operations/CreateActionRequest.php create mode 100644 src/Models/Operations/CreateActionResponse.php create mode 100644 src/Models/Operations/CreateActionResponseBody.php create mode 100644 src/Models/Operations/CreateActionTypeRequest.php create mode 100644 src/Models/Operations/CreateActionTypeResponse.php create mode 100644 src/Models/Operations/CreateAuthorMetadata.php create mode 100644 src/Models/Operations/CreateAuthorRequest.php create mode 100644 src/Models/Operations/CreateAuthorResponse.php create mode 100644 src/Models/Operations/CreateChannelContentType.php create mode 100644 src/Models/Operations/CreateChannelRequest.php create mode 100644 src/Models/Operations/CreateChannelRequestBody.php create mode 100644 src/Models/Operations/CreateChannelResponse.php create mode 100644 src/Models/Operations/CreateProjectRequest.php create mode 100644 src/Models/Operations/CreateProjectResponse.php create mode 100644 src/Models/Operations/CreateWebhookEventTypeRequest.php create mode 100644 src/Models/Operations/CreateWebhookEventTypeResponse.php create mode 100644 src/Models/Operations/CreateWebhookPayloadVersion.php create mode 100644 src/Models/Operations/CreateWebhookRequest.php create mode 100644 src/Models/Operations/CreateWebhookResponse.php create mode 100644 src/Models/Operations/CreateWebhookResponseBody.php create mode 100644 src/Models/Operations/Crypto.php create mode 100644 src/Models/Operations/CuriosityInsight.php create mode 100644 src/Models/Operations/CurrentProject.php create mode 100644 src/Models/Operations/DailyReviewCount.php create mode 100644 src/Models/Operations/DataAudio.php create mode 100644 src/Models/Operations/DataImage.php create mode 100644 src/Models/Operations/DataText.php create mode 100644 src/Models/Operations/DataVideo.php create mode 100644 src/Models/Operations/DeleteActionRequest.php create mode 100644 src/Models/Operations/DeleteActionResponse.php create mode 100644 src/Models/Operations/DeleteActionResponseBody.php create mode 100644 src/Models/Operations/DeleteAuthorRequest.php create mode 100644 src/Models/Operations/DeleteAuthorResponse.php create mode 100644 src/Models/Operations/DeleteAuthorResponseBody.php create mode 100644 src/Models/Operations/DeleteChannelRequest.php create mode 100644 src/Models/Operations/DeleteChannelResponse.php create mode 100644 src/Models/Operations/DeleteChannelResponseBody.php create mode 100644 src/Models/Operations/DeleteProjectRequest.php create mode 100644 src/Models/Operations/DeleteProjectResponse.php create mode 100644 src/Models/Operations/DeleteProjectResponseBody.php create mode 100644 src/Models/Operations/DeleteWebhookRequest.php create mode 100644 src/Models/Operations/DeleteWebhookResponse.php create mode 100644 src/Models/Operations/DeleteWebhookResponseBody.php create mode 100644 src/Models/Operations/Drugs.php create mode 100644 src/Models/Operations/DuplicateChannelRequest.php create mode 100644 src/Models/Operations/DuplicateChannelRequestBody.php create mode 100644 src/Models/Operations/DuplicateChannelResponse.php create mode 100644 src/Models/Operations/DuplicateProjectRequest.php create mode 100644 src/Models/Operations/DuplicateProjectRequestBody.php create mode 100644 src/Models/Operations/DuplicateProjectResponse.php create mode 100644 src/Models/Operations/Entities1.php create mode 100644 src/Models/Operations/Entities2.php create mode 100644 src/Models/Operations/EntityMatcherOutput.php create mode 100644 src/Models/Operations/Error.php create mode 100644 src/Models/Operations/Evaluation.php create mode 100644 src/Models/Operations/ExecuteActionRequest.php create mode 100644 src/Models/Operations/ExecuteActionResponse.php create mode 100644 src/Models/Operations/ExecuteActionResponseBody.php create mode 100644 src/Models/Operations/Extremism.php create mode 100644 src/Models/Operations/FaceDetection.php create mode 100644 src/Models/Operations/Filter.php create mode 100644 src/Models/Operations/FilterLabel.php create mode 100644 src/Models/Operations/FlaggedContentTrend.php create mode 100644 src/Models/Operations/FlaggingMode.php create mode 100644 src/Models/Operations/Gambling.php create mode 100644 src/Models/Operations/GetAccountResponse.php create mode 100644 src/Models/Operations/GetAccountResponseBody.php create mode 100644 src/Models/Operations/GetActionPosition.php create mode 100644 src/Models/Operations/GetActionPossibleValue.php create mode 100644 src/Models/Operations/GetActionQueueBehaviour.php create mode 100644 src/Models/Operations/GetActionRequest.php create mode 100644 src/Models/Operations/GetActionResponse.php create mode 100644 src/Models/Operations/GetActionResponseBody.php create mode 100644 src/Models/Operations/GetActionType.php create mode 100644 src/Models/Operations/GetAuthorRequest.php create mode 100644 src/Models/Operations/GetAuthorResponse.php create mode 100644 src/Models/Operations/GetChannelRequest.php create mode 100644 src/Models/Operations/GetChannelResponse.php create mode 100644 src/Models/Operations/GetProjectRequest.php create mode 100644 src/Models/Operations/GetProjectResponse.php create mode 100644 src/Models/Operations/GetQueueContentType.php create mode 100644 src/Models/Operations/GetQueueRecommendationAction.php create mode 100644 src/Models/Operations/GetQueueRequest.php create mode 100644 src/Models/Operations/GetQueueResponse.php create mode 100644 src/Models/Operations/GetQueueResponseBody.php create mode 100644 src/Models/Operations/GetQueueStatsRequest.php create mode 100644 src/Models/Operations/GetQueueStatsResponse.php create mode 100644 src/Models/Operations/GetQueueStatsResponseBody.php create mode 100644 src/Models/Operations/GetQueueType.php create mode 100644 src/Models/Operations/GetWebhookEventType.php create mode 100644 src/Models/Operations/GetWebhookPayloadVersion.php create mode 100644 src/Models/Operations/GetWebhookRequest.php create mode 100644 src/Models/Operations/GetWebhookResponse.php create mode 100644 src/Models/Operations/GetWebhookResponseBody.php create mode 100644 src/Models/Operations/GetWebhookSecretResponse.php create mode 100644 src/Models/Operations/GetWebhookSecretResponseBody.php create mode 100644 src/Models/Operations/GetWordlistEmbeddingStatusRequest.php create mode 100644 src/Models/Operations/GetWordlistEmbeddingStatusResponse.php create mode 100644 src/Models/Operations/GetWordlistEmbeddingStatusResponseBody.php create mode 100644 src/Models/Operations/GetWordlistRequest.php create mode 100644 src/Models/Operations/GetWordlistResponse.php create mode 100644 src/Models/Operations/GetWordlistResponseBody.php create mode 100644 src/Models/Operations/GlobalFlaggingMode.php create mode 100644 src/Models/Operations/Guideline.php create mode 100644 src/Models/Operations/Hate.php create mode 100644 src/Models/Operations/IllegalTrade.php create mode 100644 src/Models/Operations/Illicit.php create mode 100644 src/Models/Operations/IllicitAlcohol.php create mode 100644 src/Models/Operations/IllicitDrugs.php create mode 100644 src/Models/Operations/IllicitFirearms.php create mode 100644 src/Models/Operations/IllicitGambling.php create mode 100644 src/Models/Operations/IllicitTobacco.php create mode 100644 src/Models/Operations/ImageRequest.php create mode 100644 src/Models/Operations/ImageResponse.php create mode 100644 src/Models/Operations/IsFlagged.php create mode 100644 src/Models/Operations/LanguageInsight.php create mode 100644 src/Models/Operations/ListActionsData.php create mode 100644 src/Models/Operations/ListActionsPosition.php create mode 100644 src/Models/Operations/ListActionsPossibleValue.php create mode 100644 src/Models/Operations/ListActionsQueueBehaviour.php create mode 100644 src/Models/Operations/ListActionsRequest.php create mode 100644 src/Models/Operations/ListActionsResponse.php create mode 100644 src/Models/Operations/ListActionsResponseBody.php create mode 100644 src/Models/Operations/ListActionsType.php create mode 100644 src/Models/Operations/ListAuthorsRequest.php create mode 100644 src/Models/Operations/ListAuthorsResponse.php create mode 100644 src/Models/Operations/ListAuthorsResponseBody.php create mode 100644 src/Models/Operations/ListAuthorsSortDirection.php create mode 100644 src/Models/Operations/ListChannelsRequest.php create mode 100644 src/Models/Operations/ListChannelsResponse.php create mode 100644 src/Models/Operations/ListChannelsResponseBody.php create mode 100644 src/Models/Operations/ListProjectsRequest.php create mode 100644 src/Models/Operations/ListProjectsResponse.php create mode 100644 src/Models/Operations/ListProjectsResponseBody.php create mode 100644 src/Models/Operations/ListQueueItemsAction.php create mode 100644 src/Models/Operations/ListQueueItemsData.php create mode 100644 src/Models/Operations/ListQueueItemsLabel.php create mode 100644 src/Models/Operations/ListQueueItemsRequest.php create mode 100644 src/Models/Operations/ListQueueItemsResponse.php create mode 100644 src/Models/Operations/ListQueueItemsResponseBody.php create mode 100644 src/Models/Operations/ListQueueItemsSortDirection.php create mode 100644 src/Models/Operations/ListQueueItemsStatus.php create mode 100644 src/Models/Operations/ListWebhooksData.php create mode 100644 src/Models/Operations/ListWebhooksEventType.php create mode 100644 src/Models/Operations/ListWebhooksPayloadVersion.php create mode 100644 src/Models/Operations/ListWebhooksRequest.php create mode 100644 src/Models/Operations/ListWebhooksResponse.php create mode 100644 src/Models/Operations/ListWebhooksResponseBody.php create mode 100644 src/Models/Operations/ListWordlistsData.php create mode 100644 src/Models/Operations/ListWordlistsRequest.php create mode 100644 src/Models/Operations/ListWordlistsResponse.php create mode 100644 src/Models/Operations/ListWordlistsResponseBody.php create mode 100644 src/Models/Operations/LowQualityContent.php create mode 100644 src/Models/Operations/MatchT.php create mode 100644 src/Models/Operations/MatchedRule.php create mode 100644 src/Models/Operations/MediaType.php create mode 100644 src/Models/Operations/Meta.php create mode 100644 src/Models/Operations/MetaStatus.php create mode 100644 src/Models/Operations/MetaType.php create mode 100644 src/Models/Operations/MetadataFilter.php create mode 100644 src/Models/Operations/Method.php create mode 100644 src/Models/Operations/ObjectT.php create mode 100644 src/Models/Operations/PIIMasking.php create mode 100644 src/Models/Operations/PersonalInformation.php create mode 100644 src/Models/Operations/PersonalStoryInsight.php create mode 100644 src/Models/Operations/Political.php create mode 100644 src/Models/Operations/Profanity.php create mode 100644 src/Models/Operations/Promotion.php create mode 100644 src/Models/Operations/Queue.php create mode 100644 src/Models/Operations/ReasonCodeEnum.php create mode 100644 src/Models/Operations/Recommendation.php create mode 100644 src/Models/Operations/Religion.php create mode 100644 src/Models/Operations/RemoveWordlistWordsRequest.php create mode 100644 src/Models/Operations/RemoveWordlistWordsResponse.php create mode 100644 src/Models/Operations/RemoveWordlistWordsResponseBody.php create mode 100644 src/Models/Operations/ResolveQueueItemRequest.php create mode 100644 src/Models/Operations/ResolveQueueItemRequestBody.php create mode 100644 src/Models/Operations/ResolveQueueItemResponse.php create mode 100644 src/Models/Operations/ResolveQueueItemResponseBody.php create mode 100644 src/Models/Operations/RespectInsight.php create mode 100644 src/Models/Operations/ReviewStats.php create mode 100644 src/Models/Operations/Scores.php create mode 100644 src/Models/Operations/SelfHarm.php create mode 100644 src/Models/Operations/SelfPromotion.php create mode 100644 src/Models/Operations/SentimentInsight.php create mode 100644 src/Models/Operations/Sexual.php create mode 100644 src/Models/Operations/SexualMinors.php create mode 100644 src/Models/Operations/SexualSolicitation.php create mode 100644 src/Models/Operations/SignalsRequest.php create mode 100644 src/Models/Operations/SignalsResponse.php create mode 100644 src/Models/Operations/SortBy.php create mode 100644 src/Models/Operations/SortField.php create mode 100644 src/Models/Operations/Spam.php create mode 100644 src/Models/Operations/SubmitContentLabel.php create mode 100644 src/Models/Operations/SubmitContentRecommendationAction.php create mode 100644 src/Models/Operations/SubmitContentRequest.php create mode 100644 src/Models/Operations/SubmitContentResponse.php create mode 100644 src/Models/Operations/SubmitContentResponseBody.php create mode 100644 src/Models/Operations/TextRequest.php create mode 100644 src/Models/Operations/TextResponse.php create mode 100644 src/Models/Operations/Threat.php create mode 100644 src/Models/Operations/Tobacco.php create mode 100644 src/Models/Operations/TopAction.php create mode 100644 src/Models/Operations/TopReviewer.php create mode 100644 src/Models/Operations/Topic.php create mode 100644 src/Models/Operations/Toxicity.php create mode 100644 src/Models/Operations/TranscriptionQuality.php create mode 100644 src/Models/Operations/Trends.php create mode 100644 src/Models/Operations/TrustLevel.php create mode 100644 src/Models/Operations/URLMasking.php create mode 100644 src/Models/Operations/URLRisk.php create mode 100644 src/Models/Operations/UnicodeSpoofing.php create mode 100644 src/Models/Operations/UnresolveQueueItemRequest.php create mode 100644 src/Models/Operations/UnresolveQueueItemRequestBody.php create mode 100644 src/Models/Operations/UnresolveQueueItemResponse.php create mode 100644 src/Models/Operations/UnresolveQueueItemResponseBody.php create mode 100644 src/Models/Operations/UpdateActionPositionRequest.php create mode 100644 src/Models/Operations/UpdateActionPositionResponse.php create mode 100644 src/Models/Operations/UpdateActionPossibleValueRequest.php create mode 100644 src/Models/Operations/UpdateActionPossibleValueResponse.php create mode 100644 src/Models/Operations/UpdateActionQueueBehaviourRequest.php create mode 100644 src/Models/Operations/UpdateActionQueueBehaviourResponse.php create mode 100644 src/Models/Operations/UpdateActionRequest.php create mode 100644 src/Models/Operations/UpdateActionRequestBody.php create mode 100644 src/Models/Operations/UpdateActionResponse.php create mode 100644 src/Models/Operations/UpdateActionResponseBody.php create mode 100644 src/Models/Operations/UpdateActionTypeRequest.php create mode 100644 src/Models/Operations/UpdateActionTypeResponse.php create mode 100644 src/Models/Operations/UpdateAuthorMetadata.php create mode 100644 src/Models/Operations/UpdateAuthorRequest.php create mode 100644 src/Models/Operations/UpdateAuthorRequestBody.php create mode 100644 src/Models/Operations/UpdateAuthorResponse.php create mode 100644 src/Models/Operations/UpdateChannelContentType.php create mode 100644 src/Models/Operations/UpdateChannelRequest.php create mode 100644 src/Models/Operations/UpdateChannelRequestBody.php create mode 100644 src/Models/Operations/UpdateChannelResponse.php create mode 100644 src/Models/Operations/UpdateProjectRequest.php create mode 100644 src/Models/Operations/UpdateProjectRequestBody.php create mode 100644 src/Models/Operations/UpdateProjectResponse.php create mode 100644 src/Models/Operations/UpdateWebhookEventTypeRequest.php create mode 100644 src/Models/Operations/UpdateWebhookEventTypeResponse.php create mode 100644 src/Models/Operations/UpdateWebhookPayloadVersion.php create mode 100644 src/Models/Operations/UpdateWebhookRequest.php create mode 100644 src/Models/Operations/UpdateWebhookRequestBody.php create mode 100644 src/Models/Operations/UpdateWebhookResponse.php create mode 100644 src/Models/Operations/UpdateWebhookResponseBody.php create mode 100644 src/Models/Operations/UpdateWordlistRequest.php create mode 100644 src/Models/Operations/UpdateWordlistRequestBody.php create mode 100644 src/Models/Operations/UpdateWordlistResponse.php create mode 100644 src/Models/Operations/UpdateWordlistResponseBody.php create mode 100644 src/Models/Operations/Value.php create mode 100644 src/Models/Operations/Verdict.php create mode 100644 src/Models/Operations/VideoRequest.php create mode 100644 src/Models/Operations/VideoResponse.php create mode 100644 src/Models/Operations/Violence.php create mode 100644 src/Models/Operations/Weapons.php create mode 100644 src/Models/Operations/WithinUnit.php create mode 100644 src/ModerationApi.php create mode 100644 src/ModerationApiBuilder.php create mode 100644 src/Projects.php create mode 100644 src/Queue.php delete mode 100644 src/Queue/Items/ItemListParams.php delete mode 100644 src/Queue/Items/ItemListParams/SortDirection.php delete mode 100644 src/Queue/Items/ItemListParams/SortField.php delete mode 100644 src/Queue/Items/ItemListResponse.php delete mode 100644 src/Queue/Items/ItemListResponse/Item.php delete mode 100644 src/Queue/Items/ItemListResponse/Item/Action.php delete mode 100644 src/Queue/Items/ItemListResponse/Item/Label.php delete mode 100644 src/Queue/Items/ItemListResponse/Item/Status.php delete mode 100644 src/Queue/Items/ItemListResponse/Pagination.php delete mode 100644 src/Queue/Items/ItemResolveParams.php delete mode 100644 src/Queue/Items/ItemResolveResponse.php delete mode 100644 src/Queue/Items/ItemUnresolveParams.php delete mode 100644 src/Queue/Items/ItemUnresolveResponse.php delete mode 100644 src/Queue/QueueGetResponse.php delete mode 100644 src/Queue/QueueGetResponse/Queue.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/CasebookAgreement.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/CasebookAnswer.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/CheckStatus.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/ContentType.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/FilterLabel.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/FilterLabel/Type.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/IsFlagged.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/MediaType.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/MetadataFilter.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/RecommendationAction.php delete mode 100644 src/Queue/QueueGetResponse/Queue/Filter/WithinUnit.php delete mode 100644 src/Queue/QueueGetStatsParams.php delete mode 100644 src/Queue/QueueGetStatsResponse.php delete mode 100644 src/Queue/QueueGetStatsResponse/ActionStat.php delete mode 100644 src/Queue/QueueGetStatsResponse/ReviewStats.php delete mode 100644 src/Queue/QueueGetStatsResponse/TopReviewer.php delete mode 100644 src/Queue/QueueGetStatsResponse/TopReviewer/TopAction.php delete mode 100644 src/Queue/QueueGetStatsResponse/Trends.php delete mode 100644 src/Queue/QueueGetStatsResponse/Trends/DailyReviewCount.php delete mode 100644 src/Queue/QueueGetStatsResponse/Trends/FlaggedContentTrend.php delete mode 100644 src/Queue/WebhookEvent.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_/Author.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_/Author/Block.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_/Author/Metadata.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_/Author/Metrics.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_/Author/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_/Author/Status.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_/Author/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/AuthorActionEvent/Data/Object_/Queue.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_/Author.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_/Author/Block.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_/Author/Metadata.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_/Author/Metrics.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_/Author/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_/Author/Status.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_/Author/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/AuthorBlockedEvent/Data/Object_/Queue.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_/Author.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_/Author/Block.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_/Author/Metadata.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_/Author/Metrics.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_/Author/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_/Author/Status.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_/Author/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/AuthorSuspendedEvent/Data/Object_/Queue.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent/Data/Object_/Block.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent/Data/Object_/Metadata.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent/Data/Object_/Metrics.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent/Data/Object_/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent/Data/Object_/Status.php delete mode 100644 src/Queue/WebhookEvent/AuthorTrustLevelChangedEvent/Data/Object_/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_/Author.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_/Author/Block.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_/Author/Metadata.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_/Author/Metrics.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_/Author/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_/Author/Status.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_/Author/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/AuthorUnblockedEvent/Data/Object_/Queue.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent/Data/Object_/Block.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent/Data/Object_/Metadata.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent/Data/Object_/Metrics.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent/Data/Object_/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent/Data/Object_/Status.php delete mode 100644 src/Queue/WebhookEvent/AuthorUpdatedEvent/Data/Object_/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Author.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Author/Block.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Author/Metadata.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Author/Metrics.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Author/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Author/Status.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Author/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/ClientAction.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/ClientAction/Action.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/ClientAction/Behavior.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Audio.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Image.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Object_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Object_/Data.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Object_/Data/Audio.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Object_/Data/Image.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Object_/Data/Text.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Object_/Data/Video.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Text.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Content/Video.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Label.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Label/Match_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Label/Match_/Signals.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/Label/Match_/Signals/BrandImpersonation.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Item/MetaType.php delete mode 100644 src/Queue/WebhookEvent/QueueItemActionEvent/Data/Object_/Queue.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Author.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Author/Block.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Author/Metadata.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Author/Metrics.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Author/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Author/Status.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Author/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/ClientAction.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/ClientAction/Action.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/ClientAction/Behavior.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Audio.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Image.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Object_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Object_/Data.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Object_/Data/Audio.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Object_/Data/Image.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Object_/Data/Text.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Object_/Data/Video.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Text.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Content/Video.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Label.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Label/Match_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Label/Match_/Signals.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/Label/Match_/Signals/BrandImpersonation.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Item/MetaType.php delete mode 100644 src/Queue/WebhookEvent/QueueItemAllowedEvent/Data/Object_/Queue.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Author.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Author/Block.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Author/Metadata.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Author/Metrics.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Author/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Author/Status.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Author/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/ClientAction.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/ClientAction/Action.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/ClientAction/Behavior.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Audio.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Image.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Object_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Object_/Data.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Object_/Data/Audio.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Object_/Data/Image.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Object_/Data/Text.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Object_/Data/Video.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Text.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Content/Video.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Label.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Label/Match_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Label/Match_/Signals.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/Label/Match_/Signals/BrandImpersonation.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Item/MetaType.php delete mode 100644 src/Queue/WebhookEvent/QueueItemCompletedEvent/Data/Object_/Queue.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Author.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Author/Block.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Author/Metadata.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Author/Metrics.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Author/RiskEvaluation.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Author/Status.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Author/TrustLevel.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/ClientAction.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/ClientAction/Action.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/ClientAction/Behavior.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Audio.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Image.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Object_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Object_/Data.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Object_/Data/Audio.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Object_/Data/Image.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Object_/Data/Text.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Object_/Data/Video.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Text.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Content/Video.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Label.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Label/Match_.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Label/Match_/Signals.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/Label/Match_/Signals/BrandImpersonation.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Item/MetaType.php delete mode 100644 src/Queue/WebhookEvent/QueueItemRejectedEvent/Data/Object_/Queue.php delete mode 100644 src/RequestOptions.php create mode 100644 src/SDKConfiguration.php delete mode 100644 src/ServiceContracts/AccountContract.php delete mode 100644 src/ServiceContracts/AccountRawContract.php delete mode 100644 src/ServiceContracts/Actions/ExecuteContract.php delete mode 100644 src/ServiceContracts/Actions/ExecuteRawContract.php delete mode 100644 src/ServiceContracts/ActionsContract.php delete mode 100644 src/ServiceContracts/ActionsRawContract.php delete mode 100644 src/ServiceContracts/AuthContract.php delete mode 100644 src/ServiceContracts/AuthRawContract.php delete mode 100644 src/ServiceContracts/AuthorsContract.php delete mode 100644 src/ServiceContracts/AuthorsRawContract.php delete mode 100644 src/ServiceContracts/ContentContract.php delete mode 100644 src/ServiceContracts/ContentRawContract.php delete mode 100644 src/ServiceContracts/Queue/ItemsContract.php delete mode 100644 src/ServiceContracts/Queue/ItemsRawContract.php delete mode 100644 src/ServiceContracts/QueueContract.php delete mode 100644 src/ServiceContracts/QueueRawContract.php delete mode 100644 src/ServiceContracts/WebhookSecretContract.php delete mode 100644 src/ServiceContracts/WebhookSecretRawContract.php delete mode 100644 src/ServiceContracts/WebhooksContract.php delete mode 100644 src/ServiceContracts/WebhooksRawContract.php delete mode 100644 src/ServiceContracts/Wordlist/WordsContract.php delete mode 100644 src/ServiceContracts/Wordlist/WordsRawContract.php delete mode 100644 src/ServiceContracts/WordlistContract.php delete mode 100644 src/ServiceContracts/WordlistRawContract.php delete mode 100644 src/Services/AccountRawService.php delete mode 100644 src/Services/AccountService.php delete mode 100644 src/Services/Actions/ExecuteRawService.php delete mode 100644 src/Services/Actions/ExecuteService.php delete mode 100644 src/Services/ActionsRawService.php delete mode 100644 src/Services/ActionsService.php delete mode 100644 src/Services/AuthRawService.php delete mode 100644 src/Services/AuthService.php delete mode 100644 src/Services/AuthorsRawService.php delete mode 100644 src/Services/AuthorsService.php delete mode 100644 src/Services/ContentRawService.php delete mode 100644 src/Services/ContentService.php delete mode 100644 src/Services/Queue/ItemsRawService.php delete mode 100644 src/Services/Queue/ItemsService.php delete mode 100644 src/Services/QueueRawService.php delete mode 100644 src/Services/QueueService.php delete mode 100644 src/Services/WebhookSecretRawService.php delete mode 100644 src/Services/WebhookSecretService.php delete mode 100644 src/Services/WebhooksRawService.php delete mode 100644 src/Services/WebhooksService.php delete mode 100644 src/Services/Wordlist/WordsRawService.php delete mode 100644 src/Services/Wordlist/WordsService.php delete mode 100644 src/Services/WordlistRawService.php delete mode 100644 src/Services/WordlistService.php create mode 100644 src/Utils/BigDecimalHandler.php create mode 100644 src/Utils/BigIntHandler.php create mode 100644 src/Utils/DateHandler.php create mode 100644 src/Utils/DateTimeHandler.php create mode 100644 src/Utils/DefaultRequest.php create mode 100644 src/Utils/DefaultResponse.php create mode 100644 src/Utils/DefaultStream.php create mode 100644 src/Utils/DefaultUri.php create mode 100644 src/Utils/EnumHandler.php create mode 100644 src/Utils/FormMetadata.php create mode 100644 src/Utils/Headers.php create mode 100644 src/Utils/JSON.php create mode 100644 src/Utils/MixedJSONHandler.php create mode 100644 src/Utils/MultipartMetadata.php create mode 100644 src/Utils/Options.php create mode 100644 src/Utils/ParamsMetadata.php create mode 100644 src/Utils/PathParameters.php create mode 100644 src/Utils/PhpDocTypeParser.php create mode 100644 src/Utils/QueryParameters.php create mode 100644 src/Utils/RequestBodies.php create mode 100644 src/Utils/RequestMetadata.php create mode 100644 src/Utils/Retry/PermanentError.php create mode 100644 src/Utils/Retry/RetryConfig.php create mode 100644 src/Utils/Retry/RetryConfigBackoff.php create mode 100644 src/Utils/Retry/RetryConfigNone.php create mode 100644 src/Utils/Retry/RetryStrategy.php create mode 100644 src/Utils/Retry/RetryUtils.php create mode 100644 src/Utils/Retry/TemporaryError.php create mode 100644 src/Utils/Security.php create mode 100644 src/Utils/SecurityClient.php create mode 100644 src/Utils/SecurityMetadata.php create mode 100644 src/Utils/ServerDetails.php create mode 100644 src/Utils/SpeakeasyMetadata.php create mode 100644 src/Utils/UnionHandler.php create mode 100644 src/Utils/Utils.php delete mode 100644 src/Version.php create mode 100644 src/WebhookSecret.php delete mode 100644 src/WebhookSecret/WebhookSecretGetResponse.php create mode 100644 src/WebhookSignature.php create mode 100644 src/WebhookSignatureException.php create mode 100644 src/Webhooks.php delete mode 100644 src/Webhooks/WebhookCreateParams.php delete mode 100644 src/Webhooks/WebhookCreateParams/EventType.php delete mode 100644 src/Webhooks/WebhookDeleteResponse.php delete mode 100644 src/Webhooks/WebhookGetResponse.php delete mode 100644 src/Webhooks/WebhookGetResponse/EventType.php delete mode 100644 src/Webhooks/WebhookGetResponse/PayloadVersion.php delete mode 100644 src/Webhooks/WebhookListResponseItem.php delete mode 100644 src/Webhooks/WebhookListResponseItem/EventType.php delete mode 100644 src/Webhooks/WebhookListResponseItem/PayloadVersion.php delete mode 100644 src/Webhooks/WebhookNewResponse.php delete mode 100644 src/Webhooks/WebhookNewResponse/EventType.php delete mode 100644 src/Webhooks/WebhookNewResponse/PayloadVersion.php delete mode 100644 src/Webhooks/WebhookUpdateParams.php delete mode 100644 src/Webhooks/WebhookUpdateParams/EventType.php delete mode 100644 src/Webhooks/WebhookUpdateResponse.php delete mode 100644 src/Webhooks/WebhookUpdateResponse/EventType.php delete mode 100644 src/Webhooks/WebhookUpdateResponse/PayloadVersion.php create mode 100644 src/Wordlist.php delete mode 100644 src/Wordlist/WordlistGetEmbeddingStatusResponse.php delete mode 100644 src/Wordlist/WordlistGetResponse.php delete mode 100644 src/Wordlist/WordlistListResponseItem.php delete mode 100644 src/Wordlist/WordlistUpdateParams.php delete mode 100644 src/Wordlist/WordlistUpdateResponse.php delete mode 100644 src/Wordlist/Words/WordAddParams.php delete mode 100644 src/Wordlist/Words/WordAddResponse.php delete mode 100644 src/Wordlist/Words/WordRemoveParams.php delete mode 100644 src/Wordlist/Words/WordRemoveResponse.php create mode 100644 src/Words.php delete mode 100644 tests/ClientTest.php delete mode 100644 tests/Core/ModelTest.php delete mode 100644 tests/Core/RequestTimeoutTest.php delete mode 100644 tests/Core/StreamingTransportTest.php delete mode 100644 tests/Core/UtilTest.php delete mode 100644 tests/Services/AccountTest.php delete mode 100644 tests/Services/Actions/ExecuteTest.php delete mode 100644 tests/Services/ActionsTest.php delete mode 100644 tests/Services/AuthTest.php delete mode 100644 tests/Services/AuthorsTest.php delete mode 100644 tests/Services/ContentTest.php delete mode 100644 tests/Services/Queue/ItemsTest.php delete mode 100644 tests/Services/QueueTest.php delete mode 100644 tests/Services/WebhookSecretTest.php delete mode 100644 tests/Services/WebhooksTest.php delete mode 100644 tests/Services/Wordlist/WordsTest.php delete mode 100644 tests/Services/WordlistTest.php delete mode 100644 tests/UnsupportedMockTests.php diff --git a/.gitattributes b/.gitattributes index 3e7d094..e672f6e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,16 +1,2 @@ -*.php diff=php - -/.github export-ignore -/bin export-ignore -/scripts export-ignore -/tests export-ignore - -/.gitattributes export-ignore -/.gitignore export-ignore -/.php-cs-fixer.dist.php export-ignore -/.phpactor.json export-ignore -/.release-please-manifest.json export-ignore -/.stats.yml export-ignore -/phpstan.dist.neon export-ignore -/phpunit.xml.dist export-ignore -/release-please-config.json export-ignore +# This allows generated code to be indexed correctly +*.php linguist-generated=false \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 84d8fb1..64291c2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,54 +1,29 @@ +# Maintained in moderation-api/sdk-generator (custom/php). Edits here are overwritten. name: CI on: push: - branches: - - '**' - - '!integrated/**' - - '!stl-preview-head/**' - - '!stl-preview-base/**' - - '!generated' - - '!codegen/**' - - 'codegen/stl/**' + branches: [main] pull_request: - branches-ignore: - - 'stl-preview-head/**' - - 'stl-preview-base/**' -jobs: - lint: - timeout-minutes: 10 - name: lint - runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} - if: github.event_name == 'push' || github.event.pull_request.head.repo.fork - - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Set up PHP - uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # 2.37.0 - with: - php-version: '8.3' +permissions: + contents: read - - name: Run Bootstrap - run: ./scripts/bootstrap - - - name: Run lints - run: ./scripts/lint - test: - timeout-minutes: 10 - name: test - runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} - if: github.event_name == 'push' || github.event.pull_request.head.repo.fork +jobs: + build: + runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Set up PHP - uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # 2.37.0 + - uses: shivammathur/setup-php@v2 with: - php-version: '8.3' - - - name: Run bootstrap - run: ./scripts/bootstrap - - - name: Run tests - run: ./scripts/test + php-version: "8.2" + - run: composer install --no-interaction --no-progress + - name: Static analysis + run: | + set -o pipefail + if ! vendor/bin/phpstan analyse --level=5 --memory-limit=2g --no-progress --error-format=raw > phpstan.txt 2>&1; then + head -n 40 phpstan.txt | sed 's/^/::error title=phpstan::/' + exit 1 + fi + - name: Load the package + run: | + php -r 'require "vendor/autoload.php"; foreach (["ModerationApi\\ModerationApi", "ModerationApi\\WebhookSignature"] as $c) { if (!class_exists($c)) { fwrite(STDERR, "missing $c\n"); exit(1); } }' diff --git a/.github/workflows/publish-packagist.yml b/.github/workflows/publish-packagist.yml index e775e36..10817ee 100644 --- a/.github/workflows/publish-packagist.yml +++ b/.github/workflows/publish-packagist.yml @@ -1,21 +1,21 @@ +# Maintained in moderation-api/sdk-generator (custom/php). Edits here are overwritten. +# Packagist reads the version from the release tag. name: Publish Packagist on: - workflow_dispatch: - release: types: [published] + workflow_dispatch: + +permissions: + contents: read jobs: publish: - name: publish runs-on: ubuntu-latest - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Publish to Packagist + - name: Tell Packagist to update run: |- curl --fail-with-body -X POST -H 'Content-Type: application/json' "https://packagist.org/api/update-package?username=${PACKAGIST_USERNAME}&apiToken=${PACKAGIST_SAFE_KEY}" -d '{"repository":"https://github.com/moderation-api/sdk-php"}' env: PACKAGIST_USERNAME: ${{ secrets.MODERATION_API_PACKAGIST_USERNAME || secrets.PACKAGIST_USERNAME }} - PACKAGIST_SAFE_KEY: ${{ secrets.MODERATION_API_PACKAGIST_SAFE_KEY || secrets.PACKAGIST_SAFE_KEY }} \ No newline at end of file + PACKAGIST_SAFE_KEY: ${{ secrets.MODERATION_API_PACKAGIST_SAFE_KEY || secrets.PACKAGIST_SAFE_KEY }} diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml deleted file mode 100644 index dd9bea3..0000000 --- a/.github/workflows/release-doctor.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Release Doctor -on: - pull_request: - branches: - - main - workflow_dispatch: - -jobs: - release_doctor: - name: release doctor - runs-on: ubuntu-latest - if: github.repository == 'moderation-api/sdk-php' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next') - - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - name: Check release environment - run: | - bash ./bin/check-release-environment - env: - PACKAGIST_USERNAME: ${{ secrets.MODERATION_API_PACKAGIST_USERNAME || secrets.PACKAGIST_USERNAME }} - PACKAGIST_SAFE_KEY: ${{ secrets.MODERATION_API_PACKAGIST_SAFE_KEY || secrets.PACKAGIST_SAFE_KEY }} diff --git a/.gitignore b/.gitignore index 71d6d15..5858818 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,8 @@ -docs/ -.idea/ -.php-cs-fixer.cache -.php-cs-fixer.php -.phpunit.cache -phpunit.xml -playground/ -*.swo -*.swp -vendor/ - -# do not edit! excludes generated files used internally -.artifacts/ +composer.lock +vendor +.DS_Store +.DS_Store +**/.speakeasy/temp/ +**/.speakeasy/logs/ +.env +.env.local diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php deleted file mode 100644 index d46a37f..0000000 --- a/.php-cs-fixer.dist.php +++ /dev/null @@ -1,19 +0,0 @@ -setParallelConfig(ParallelConfigFactory::detect()) - ->setFinder(Finder::create()->in([__DIR__.'/src', __DIR__.'/tests'])) - ->setRules([ - '@PhpCsFixer' => true, - 'phpdoc_align' => false, - 'new_with_parentheses' => ['named_class' => false], - 'ordered_types' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'], - 'phpdoc_types_order' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'], - ]) -; diff --git a/.phpactor.json b/.phpactor.json deleted file mode 100644 index 97fdd06..0000000 --- a/.phpactor.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "indexer.exclude_patterns": ["vendor"], - "language_server_completion.trim_leading_dollar": true, - "language_server_php_cs_fixer.enabled": false, - "language_server_phpstan.enabled": true -} diff --git a/.release-please-manifest.json b/.release-please-manifest.json deleted file mode 100644 index ea2682c..0000000 --- a/.release-please-manifest.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - ".": "0.41.0" -} \ No newline at end of file diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock new file mode 100644 index 0000000..4a65012 --- /dev/null +++ b/.speakeasy/gen.lock @@ -0,0 +1,2272 @@ +lockVersion: 2.0.0 +id: 0199302d-9d48-4081-a021-a66e7a11ce41 +management: + docChecksum: 3320e8867e978fb3c091936a85b4b990 + docVersion: 1.1.0 + speakeasyVersion: internal + generationVersion: internal + releaseVersion: 1.0.0 + configChecksum: cfb7efdb93627b41cad438be9a9f2811 + repoURL: https://github.com/moderation-api/sdk-php + installationURL: https://github.com/moderation-api/sdk-php.git + published: true +features: + php: + additionalProperties: 0.1.1 + constsAndDefaults: 0.2.2 + core: 3.9.28 + examples: 2.81.8 + flattening: 2.81.2 + globalSecurity: 2.81.12 + globalSecurityFlattening: 0.1.2 + globalServerURLs: 2.83.1 + groups: 2.81.3 + ignores: 2.81.1 + methodArguments: 0.1.0 + nameOverrides: 2.81.4 + nullables: 1.0.1 + pagination: 0.1.5 + responseFormat: 0.1.0 + unions: 0.1.11 +trackedFiles: + .gitattributes: + last_write_checksum: sha1:d1d000f6673e5838a636562dceffa2d9dec820df + USAGE.md: + last_write_checksum: sha1:cd23fcf6d50864fcdc2cd354abf5cb8a51cefd1d + composer.json: + last_write_checksum: sha1:6a0554564610bee70b7b994b0408bd6e40c44746 + docs/Models/Components/AuthenticationErrorCode.md: + last_write_checksum: sha1:77a5b839e6e9801a15872fd82d47fd77651016c5 + docs/Models/Components/BadRequestErrorCode.md: + last_write_checksum: sha1:f9aed60f95056516f8b2734228850e98e9707271 + docs/Models/Components/Block.md: + last_write_checksum: sha1:334b51a56857c865c3777021eef19c61b8e41b37 + docs/Models/Components/Channel.md: + last_write_checksum: sha1:33d790dc12cb7b6d10d6ae5bd5110cf0233569bd + docs/Models/Components/ConflictErrorCode.md: + last_write_checksum: sha1:67bcc75dc0de541565f63e946d408096d81b4af4 + docs/Models/Components/ContentType.md: + last_write_checksum: sha1:f6f6b2920624c80a3561ee06a70ed763c4d0632f + docs/Models/Components/ErrorIssue.md: + last_write_checksum: sha1:80d6d96406ae6a65012a254f9568338395386fb4 + docs/Models/Components/FlaggingMode.md: + last_write_checksum: sha1:84d7586419914429a7cd64c837e54bc49896d39d + docs/Models/Components/InternalServerErrorCode.md: + last_write_checksum: sha1:e1185db311ed62be4492b54700ab93d52c405994 + docs/Models/Components/Metadata.md: + last_write_checksum: sha1:0d91b387d891213f040b8d85ae56b76a57f72d06 + docs/Models/Components/Metrics.md: + last_write_checksum: sha1:cee03a66b63be4a1ccb2291f3000ed4f3ec1b70f + docs/Models/Components/NotFoundErrorCode.md: + last_write_checksum: sha1:4523793c9d6dca2e4324fcc7da4b26b158717544 + docs/Models/Components/Pagination.md: + last_write_checksum: sha1:707a82c6db4d540c11903e6343172c1f79e84e08 + docs/Models/Components/Path.md: + last_write_checksum: sha1:59349a1104bace372a506492f859db94df29d333 + docs/Models/Components/PermissionDeniedErrorCode.md: + last_write_checksum: sha1:1b6e1d2b1b088d93f3d757083732c85fcb5a1e66 + docs/Models/Components/Project.md: + last_write_checksum: sha1:4e1138762d9b1c2535fcc30a738c33f367446552 + docs/Models/Components/ProjectGlobalFlaggingMode.md: + last_write_checksum: sha1:5df81293264af4fd845a411be31d7129a6bac840 + docs/Models/Components/ProjectWithKey.md: + last_write_checksum: sha1:c38914bbece69b895dfc9204f0b012b0dd324c6e + docs/Models/Components/ProjectWithKeyGlobalFlaggingMode.md: + last_write_checksum: sha1:9ac1725b79bc23fa6b24f25e68c18cac11b44ee7 + docs/Models/Components/PublicAuthor.md: + last_write_checksum: sha1:23dae04ac162e26b9a8f8543be3af94d7d5a5efe + docs/Models/Components/RateLimitErrorCode.md: + last_write_checksum: sha1:c266e1bff11bcdfcd9b582c21dfafee0aefbaf8b + docs/Models/Components/RiskEvaluation.md: + last_write_checksum: sha1:2c6086d3c5f78f88dae6b4f3e5012fc433f8c4ce + docs/Models/Components/Security.md: + last_write_checksum: sha1:268135d3f09db0fbcceecc8523339abbc09eea2e + docs/Models/Components/Status.md: + last_write_checksum: sha1:d05d5d7fb2d0d8e76227fdc1473488892a21427d + docs/Models/Components/TranscriptionQuality.md: + last_write_checksum: sha1:26d77a6238fd05215deb6ec885d59cc5a0fca64d + docs/Models/Components/TrustLevel.md: + last_write_checksum: sha1:59c7fab1ac94b8a21cebb6f15e753672b4ac8f1f + docs/Models/Errors/AuthenticationError.md: + last_write_checksum: sha1:19eddc52faa3565fd9b66d39b55e727711eb5b12 + docs/Models/Errors/BadRequestError.md: + last_write_checksum: sha1:120972e06d83d4e7aefcec1ad1dbe3933ff307e8 + docs/Models/Errors/ConflictError.md: + last_write_checksum: sha1:b1c7a7a062a6822a0604151f257f401afd969c41 + docs/Models/Errors/InternalServerError.md: + last_write_checksum: sha1:c3bd0ababafac0c146d2111a72a7dade78719f7b + docs/Models/Errors/NotFoundError.md: + last_write_checksum: sha1:e9c31df6f8d3b6787599d6590413b0e3f3ba1253 + docs/Models/Errors/PermissionDeniedError.md: + last_write_checksum: sha1:6da0652b9f3cbd98c28f131816eb736fa1326643 + docs/Models/Errors/RateLimitError.md: + last_write_checksum: sha1:2b85021bb6d8241e9989a5ba52ed3a24c988de8d + docs/Models/Operations/ActionRequest.md: + last_write_checksum: sha1:5ac714a0d1c0f2c91ae7a3e650a4313bb615cd0b + docs/Models/Operations/ActionStat.md: + last_write_checksum: sha1:034f55d8bf87a2e062cb242a8da2220c4d0754db + docs/Models/Operations/AddWordlistWordsRequest.md: + last_write_checksum: sha1:54e45f672e21d12ebc16e0ad4b51fa8b98485f8c + docs/Models/Operations/AddWordlistWordsRequestBody.md: + last_write_checksum: sha1:5622b3b98b1276644fe08116a626fd2649003632 + docs/Models/Operations/AddWordlistWordsResponse.md: + last_write_checksum: sha1:771009df3596de9735ec3810dbc349ed160f4330 + docs/Models/Operations/AddWordlistWordsResponseBody.md: + last_write_checksum: sha1:997052b332237b543bbf98d9fc5e6b51a3879216 + docs/Models/Operations/Adult.md: + last_write_checksum: sha1:f92b2dc8f9edb7b969d66f7c14248eea6c456013 + docs/Models/Operations/Alcohol.md: + last_write_checksum: sha1:650e632d6f54d6ecc4ae7b164985c6a9c1dcce5f + docs/Models/Operations/AudioRequest.md: + last_write_checksum: sha1:422b19eb1169a2d5f0d655b8dc1b0cec50ebcc75 + docs/Models/Operations/AudioResponse.md: + last_write_checksum: sha1:39864502876ca215a0222ab4985ef505179065d2 + docs/Models/Operations/Author.md: + last_write_checksum: sha1:eb4c0ab083e0cfe479bafbbf445cce93831829d7 + docs/Models/Operations/AuthorStatus.md: + last_write_checksum: sha1:b0ef2f7d21062292a06e059b371adc78b27f8a86 + docs/Models/Operations/Behavior.md: + last_write_checksum: sha1:0c281a3cb84e007a7f614cb6295f94964f91d044 + docs/Models/Operations/Block.md: + last_write_checksum: sha1:334b51a56857c865c3777021eef19c61b8e41b37 + docs/Models/Operations/BrandImpersonation.md: + last_write_checksum: sha1:419b97d0825dbb7453231033af20b5190982c7ad + docs/Models/Operations/Cannabis.md: + last_write_checksum: sha1:766668c446499638a04316f33f281a93575e8708 + docs/Models/Operations/Casebook.md: + last_write_checksum: sha1:cb3add0de0c38e12edcbc7dab87a7aedd83c4246 + docs/Models/Operations/CasebookAgreement.md: + last_write_checksum: sha1:03801c070edd002745210d64d3fd6cdcd6bc25e4 + docs/Models/Operations/CasebookAnswer.md: + last_write_checksum: sha1:e06aa663c44fe2add9c8deda246ff27e22222c60 + docs/Models/Operations/ChannelCircumvention.md: + last_write_checksum: sha1:10b4c25d6f6b883eb0bc9a73c1e8e5772d34efa0 + docs/Models/Operations/CheckStatus.md: + last_write_checksum: sha1:7e41290bcc3a78594ad6eb5e3b42dd98245b7c24 + docs/Models/Operations/ClassifierOutput.md: + last_write_checksum: sha1:8ed4815a6ea017176a4399c435d4a14adfee14d4 + docs/Models/Operations/ClientAction.md: + last_write_checksum: sha1:f7a802e4e7742bbe296b53f3165e4a19ab4b9f88 + docs/Models/Operations/CodeAbuse.md: + last_write_checksum: sha1:abf2034f015f9a6f1242adcfd04cb18bae84cf90 + docs/Models/Operations/Comparator.md: + last_write_checksum: sha1:8af85b5f3e1cee2b567d31b2d9a39f226b52de90 + docs/Models/Operations/CompassionInsight.md: + last_write_checksum: sha1:ab5cbde100d55ac1ef7be27158823741f6274049 + docs/Models/Operations/ContentLeafRequest.md: + last_write_checksum: sha1:bf9ce0634cf5233ae93d3dd55693fc09e11cab8e + docs/Models/Operations/ContentLeafResponse.md: + last_write_checksum: sha1:5fc7ead90ffc0943e6adf6a9f173ede44f809426 + docs/Models/Operations/ContentRequest.md: + last_write_checksum: sha1:8acbb546743d44c5bcb13d05e160949aced0986f + docs/Models/Operations/ContentResponse.md: + last_write_checksum: sha1:eb098b536d075e68d0830f0d693436e9b3671fb0 + docs/Models/Operations/CreateActionPositionRequest.md: + last_write_checksum: sha1:3839d772485b941b0b09bbe78d1280882a0cdda0 + docs/Models/Operations/CreateActionPositionResponse.md: + last_write_checksum: sha1:8bd6914d33fe39901a69255464879dfeb2b91d7e + docs/Models/Operations/CreateActionPossibleValueRequest.md: + last_write_checksum: sha1:a5135e3321b3db85d743a95f96b299de23dc2d02 + docs/Models/Operations/CreateActionPossibleValueResponse.md: + last_write_checksum: sha1:b4f5f3462c12020d8b6f659473109b8665fbd821 + docs/Models/Operations/CreateActionQueueBehaviourRequest.md: + last_write_checksum: sha1:1dd35c8f3529df360f6fb27d9b509bd424dff2a6 + docs/Models/Operations/CreateActionQueueBehaviourResponse.md: + last_write_checksum: sha1:97f02c2df095405ae5100f60ce4188c29fb7caa5 + docs/Models/Operations/CreateActionRequest.md: + last_write_checksum: sha1:6552029f1e83eef217e68ea89852f45058869676 + docs/Models/Operations/CreateActionResponse.md: + last_write_checksum: sha1:997aec7078dbe25ab61cae2d82cc2a0b796ae166 + docs/Models/Operations/CreateActionResponseBody.md: + last_write_checksum: sha1:db166da7a9cb360493c6d0ff6588e5fbcd1b2e0b + docs/Models/Operations/CreateActionTypeRequest.md: + last_write_checksum: sha1:6d99079c5aa0c28132c7ed583af8798436136804 + docs/Models/Operations/CreateActionTypeResponse.md: + last_write_checksum: sha1:95f144ae2959558f87d74229a679a305b4c7826e + docs/Models/Operations/CreateAuthorMetadata.md: + last_write_checksum: sha1:cf046cd307e8a834bb4b2c4aad5d8031022ba16b + docs/Models/Operations/CreateAuthorRequest.md: + last_write_checksum: sha1:d234d4a39cc29140d6e8a200cddb30b85e6ee852 + docs/Models/Operations/CreateAuthorResponse.md: + last_write_checksum: sha1:63cb4584fed1c5d1391ca009d5c5389c3a023808 + docs/Models/Operations/CreateChannelContentType.md: + last_write_checksum: sha1:d8ac9ace274e3061bf0bfb82be4419948293dcfe + docs/Models/Operations/CreateChannelRequest.md: + last_write_checksum: sha1:1addee8b6d979d197e8f39a2c8414937b07adbf5 + docs/Models/Operations/CreateChannelRequestBody.md: + last_write_checksum: sha1:5845cde685b144f1a550724657bbb4678095667d + docs/Models/Operations/CreateChannelResponse.md: + last_write_checksum: sha1:75149c76721ba5187c331604410351365d587758 + docs/Models/Operations/CreateProjectRequest.md: + last_write_checksum: sha1:0ca1a670b74800679cc1e5891dea64eacc3d061d + docs/Models/Operations/CreateProjectResponse.md: + last_write_checksum: sha1:f793eed17b1de7a69acb1c7c1da5c97a5434784e + docs/Models/Operations/CreateWebhookEventTypeRequest.md: + last_write_checksum: sha1:6a6ff911ce60389c145d141c7abe337868ebd02d + docs/Models/Operations/CreateWebhookEventTypeResponse.md: + last_write_checksum: sha1:2d449ef237ccbdbb8ec32a8a4974e212b71fdfba + docs/Models/Operations/CreateWebhookPayloadVersion.md: + last_write_checksum: sha1:2014e238e3e3f1e845d0edc6d69b0fc3608d6752 + docs/Models/Operations/CreateWebhookRequest.md: + last_write_checksum: sha1:8a4939bd4c8aa4adc321fb61583bb376809302fe + docs/Models/Operations/CreateWebhookResponse.md: + last_write_checksum: sha1:39f5f50b291f24e39aede11c8b20a5f6ca0b4718 + docs/Models/Operations/CreateWebhookResponseBody.md: + last_write_checksum: sha1:03124f2180a434f7aaa38f5e3af317747abdca6e + docs/Models/Operations/Crypto.md: + last_write_checksum: sha1:ba2c5b59138c8cc0240e03bb150b079b10f466c6 + docs/Models/Operations/CuriosityInsight.md: + last_write_checksum: sha1:101b81d51413d682d90096d8ab1ed1f3b7b75b94 + docs/Models/Operations/CurrentProject.md: + last_write_checksum: sha1:50119b3c929d7353ec6cc1257e468f64280d7b70 + docs/Models/Operations/DailyReviewCount.md: + last_write_checksum: sha1:672112ede23c2dbd6ebb73b9cce6894a21d872b3 + docs/Models/Operations/DataAudio.md: + last_write_checksum: sha1:09ea768ec01d5f0fefc4a08cd0857f5dd16bd842 + docs/Models/Operations/DataImage.md: + last_write_checksum: sha1:e6e419ff0ca98237ad728eb07610d599aefe6f2d + docs/Models/Operations/DataText.md: + last_write_checksum: sha1:eeb96d32176b325b6958f606bae68fd63b95eba4 + docs/Models/Operations/DataVideo.md: + last_write_checksum: sha1:1299100c36d4060d8c8d125b0ae92f674f94f2a3 + docs/Models/Operations/DeleteActionRequest.md: + last_write_checksum: sha1:a3d5bd016657d479ab161ceec553888be461ab74 + docs/Models/Operations/DeleteActionResponse.md: + last_write_checksum: sha1:d38fc0330e1c4c6cc4ff4a1f669d76991672d694 + docs/Models/Operations/DeleteActionResponseBody.md: + last_write_checksum: sha1:9f56d6d9b5dd5c6bdd13d2ea9542bd4b06cc23b5 + docs/Models/Operations/DeleteAuthorRequest.md: + last_write_checksum: sha1:4023cf1691d10284d46ae9a08540e497ac2213e5 + docs/Models/Operations/DeleteAuthorResponse.md: + last_write_checksum: sha1:b21b20143ad0f5a3cb2b5f2b3bd5b9592bd32b1f + docs/Models/Operations/DeleteAuthorResponseBody.md: + last_write_checksum: sha1:030bba47fd11fe54744c74dc1712aa6befa7014d + docs/Models/Operations/DeleteChannelRequest.md: + last_write_checksum: sha1:b9383df0bf225203e81e39ff267c2df116ddddac + docs/Models/Operations/DeleteChannelResponse.md: + last_write_checksum: sha1:cf6d6b9fe986ad0edbf424f90cc0d2607e801feb + docs/Models/Operations/DeleteChannelResponseBody.md: + last_write_checksum: sha1:7339b1c016a7f67e1d2f9d77a16dd9ef9cbbdf6a + docs/Models/Operations/DeleteProjectRequest.md: + last_write_checksum: sha1:1a2a147ca5e326771215c29d0930881ec79d4806 + docs/Models/Operations/DeleteProjectResponse.md: + last_write_checksum: sha1:cc19c9130814626e45f443e81f1da5bc477af640 + docs/Models/Operations/DeleteProjectResponseBody.md: + last_write_checksum: sha1:0438264cd7fd578d0d7aea8b2b57725304a94be8 + docs/Models/Operations/DeleteWebhookRequest.md: + last_write_checksum: sha1:e735ed38dc58ee4aa7712690b3beb184d2a48229 + docs/Models/Operations/DeleteWebhookResponse.md: + last_write_checksum: sha1:dbe1e045ca97e7659e8812cf1a2d98e9858b52f3 + docs/Models/Operations/DeleteWebhookResponseBody.md: + last_write_checksum: sha1:2e336ec503f487c015ddc5583b49df6da5697cb5 + docs/Models/Operations/Drugs.md: + last_write_checksum: sha1:a53499427c75cb4239f8c1afe9ce8af01bc6ed2f + docs/Models/Operations/DuplicateChannelRequest.md: + last_write_checksum: sha1:49b82255e67a7ce79e4b5540994d220038ce185c + docs/Models/Operations/DuplicateChannelRequestBody.md: + last_write_checksum: sha1:f9466986472d4c336732676a66b43d7b25eeac65 + docs/Models/Operations/DuplicateChannelResponse.md: + last_write_checksum: sha1:06925587647eb924baa1459b1de3c5740894a70f + docs/Models/Operations/DuplicateProjectRequest.md: + last_write_checksum: sha1:7c1654734ec456e879328ea56ca70e3e82301ed8 + docs/Models/Operations/DuplicateProjectRequestBody.md: + last_write_checksum: sha1:4c20a561c1ece07ccafffbd56c0ca87856bcf382 + docs/Models/Operations/DuplicateProjectResponse.md: + last_write_checksum: sha1:5934d54f3514b79493920b1471469a13e65443e4 + docs/Models/Operations/Entities1.md: + last_write_checksum: sha1:f73f3d8d21cb8cca2da615fae470f8e4ddf3dada + docs/Models/Operations/Entities2.md: + last_write_checksum: sha1:fd7249863c0e45dff2eab3200f21a9e617935272 + docs/Models/Operations/EntityMatcherOutput.md: + last_write_checksum: sha1:b1967d5debc23c4549889ad49defc4bdfa5d8cb2 + docs/Models/Operations/Error.md: + last_write_checksum: sha1:ed32c592ad650a6a11117d020fb4700ba629b4fb + docs/Models/Operations/Evaluation.md: + last_write_checksum: sha1:4b66033c588178d83a3b3672c9943fe022b512e4 + docs/Models/Operations/ExecuteActionRequest.md: + last_write_checksum: sha1:0c45670953fe8571f61428e196a34aec9c9c6e82 + docs/Models/Operations/ExecuteActionResponse.md: + last_write_checksum: sha1:0b9f8a95be5a0a0da917452b4c8a07ce571b6555 + docs/Models/Operations/ExecuteActionResponseBody.md: + last_write_checksum: sha1:612522978bb61dd048c60e9c534db38f4192ebfb + docs/Models/Operations/Extremism.md: + last_write_checksum: sha1:c2ab01a922620b199991d42c26980e988ac6d2e2 + docs/Models/Operations/FaceDetection.md: + last_write_checksum: sha1:2ba4be6e75379a1f03128fa6df42c67fd8908d46 + docs/Models/Operations/Filter.md: + last_write_checksum: sha1:22b40d896ed83212860b55a52f0edffd9a8ccb54 + docs/Models/Operations/FilterLabel.md: + last_write_checksum: sha1:ff3f68ef41b83fbe797393c2947e9cc92ab92f18 + docs/Models/Operations/FlaggedContentTrend.md: + last_write_checksum: sha1:51d66012e82c5821910cef3cf2fc70bb1495935d + docs/Models/Operations/FlaggingMode.md: + last_write_checksum: sha1:84d7586419914429a7cd64c837e54bc49896d39d + docs/Models/Operations/Gambling.md: + last_write_checksum: sha1:01f2ff59643479cc21a02287d43acd1d62d5b073 + docs/Models/Operations/GetAccountResponse.md: + last_write_checksum: sha1:f5f553b8548a75d4737c98b9e3bf911dc695f15a + docs/Models/Operations/GetAccountResponseBody.md: + last_write_checksum: sha1:51ebbb53092323e430678eae7dc6b3242d53c919 + docs/Models/Operations/GetActionPosition.md: + last_write_checksum: sha1:0820720391a15811880a01460665bb4ac7908011 + docs/Models/Operations/GetActionPossibleValue.md: + last_write_checksum: sha1:9da66775ed9712dcd432f767fdd843259b09331f + docs/Models/Operations/GetActionQueueBehaviour.md: + last_write_checksum: sha1:ff0521f4add44128f7fc18833a770be9769dc252 + docs/Models/Operations/GetActionRequest.md: + last_write_checksum: sha1:4a37824dadb5a21e2f2657bcb450aff961eaaed7 + docs/Models/Operations/GetActionResponse.md: + last_write_checksum: sha1:3de861dd9d7b52b5231033ecd07927f028cda330 + docs/Models/Operations/GetActionResponseBody.md: + last_write_checksum: sha1:b687bf8ce660b6d8b2dcadefced6a2e0f95e8563 + docs/Models/Operations/GetActionType.md: + last_write_checksum: sha1:1b45f56d331c400c5135c3af59b9e2cd4141160c + docs/Models/Operations/GetAuthorRequest.md: + last_write_checksum: sha1:1bc3abf8aa5423bfe9e8e7e5fdb7f98de7958ee8 + docs/Models/Operations/GetAuthorResponse.md: + last_write_checksum: sha1:01855737e8ae45cba45c02cbbcbf5227a1daf3c3 + docs/Models/Operations/GetChannelRequest.md: + last_write_checksum: sha1:56037d9c375992f92ada8119e730d628ecd0759b + docs/Models/Operations/GetChannelResponse.md: + last_write_checksum: sha1:277de0974b9b6e67fb5118e189968181ae17b27e + docs/Models/Operations/GetProjectRequest.md: + last_write_checksum: sha1:3f85f0e44a7b08eb93af406b36cff40e922390c6 + docs/Models/Operations/GetProjectResponse.md: + last_write_checksum: sha1:57d7b2107cc7d2e0753f210dff94211e82e02cc4 + docs/Models/Operations/GetQueueContentType.md: + last_write_checksum: sha1:a8830dfa67fdcecb5aca262abc7ac0a8e2ec34e9 + docs/Models/Operations/GetQueueRecommendationAction.md: + last_write_checksum: sha1:959b206a2f957168b3172b45f9f7fe43e75489b2 + docs/Models/Operations/GetQueueRequest.md: + last_write_checksum: sha1:fe9cd2a9267a3753a75d737c3becb92b4df89ec5 + docs/Models/Operations/GetQueueResponse.md: + last_write_checksum: sha1:c87e3d4c8010544370dad7cb6a88faf68547cfba + docs/Models/Operations/GetQueueResponseBody.md: + last_write_checksum: sha1:f0f2e26a5b760e481c31045a3e36c4f3cd0e04d0 + docs/Models/Operations/GetQueueStatsRequest.md: + last_write_checksum: sha1:fd4ac6849db93d70bb81e45c574575fa088b9e4b + docs/Models/Operations/GetQueueStatsResponse.md: + last_write_checksum: sha1:590857365e4b87ccd7e77b96d6c1bcc950db6438 + docs/Models/Operations/GetQueueStatsResponseBody.md: + last_write_checksum: sha1:47e778b4a1db76bb4a40fc377a03fcf9da1c6165 + docs/Models/Operations/GetQueueType.md: + last_write_checksum: sha1:454e42af9ad0c81c7c989226c9a113adfabc0d3b + docs/Models/Operations/GetWebhookEventType.md: + last_write_checksum: sha1:8286461c90474a38d54a1620466f3c5eabb1995f + docs/Models/Operations/GetWebhookPayloadVersion.md: + last_write_checksum: sha1:85d85e2b79ffc5dff2bf655e31bc2f841b013343 + docs/Models/Operations/GetWebhookRequest.md: + last_write_checksum: sha1:2ade966ada273c3627b2c9bc0813c856a371ffe0 + docs/Models/Operations/GetWebhookResponse.md: + last_write_checksum: sha1:f7a91e8cff31fe6519f29202e9824a8ab6389056 + docs/Models/Operations/GetWebhookResponseBody.md: + last_write_checksum: sha1:48568d4ced96eb856066c723f07633bb14d059a8 + docs/Models/Operations/GetWebhookSecretResponse.md: + last_write_checksum: sha1:6beee2803c94d7222f41c89159eefe81ae9933d7 + docs/Models/Operations/GetWebhookSecretResponseBody.md: + last_write_checksum: sha1:32b8a9b5a6a45638bd8c3f97a2d231aa0257779f + docs/Models/Operations/GetWordlistEmbeddingStatusRequest.md: + last_write_checksum: sha1:7fce7be4cefd9f2f68cfae4e8b51adbe0ae8c0b4 + docs/Models/Operations/GetWordlistEmbeddingStatusResponse.md: + last_write_checksum: sha1:9c3033144a1b46304107fdfa14a55a55e2ea0904 + docs/Models/Operations/GetWordlistEmbeddingStatusResponseBody.md: + last_write_checksum: sha1:af312a1202ac03c542339923b8c7a6fb77b58554 + docs/Models/Operations/GetWordlistRequest.md: + last_write_checksum: sha1:f1cac50c6435baa829522b4ff0dfc04537613c23 + docs/Models/Operations/GetWordlistResponse.md: + last_write_checksum: sha1:6aee57085d2c9c8e6ebb7be6c7995535120227e4 + docs/Models/Operations/GetWordlistResponseBody.md: + last_write_checksum: sha1:12ca70cef268e1f12a7385bd4fb29ddc8b75de86 + docs/Models/Operations/GlobalFlaggingMode.md: + last_write_checksum: sha1:9f4a4fad0eae9e3ff2dbf844a96cf645f3e1dd8b + docs/Models/Operations/Guideline.md: + last_write_checksum: sha1:1c8490e01849226fe7936cdf7bfbd5ae29ab6e73 + docs/Models/Operations/Hate.md: + last_write_checksum: sha1:fc513a28d619f2dcea09a8fee6062d040da76447 + docs/Models/Operations/IllegalTrade.md: + last_write_checksum: sha1:b13441158119cdee35e8a07c152628901010943b + docs/Models/Operations/Illicit.md: + last_write_checksum: sha1:1226ba252d74791a8fd77e26d32e2c930273d67a + docs/Models/Operations/IllicitAlcohol.md: + last_write_checksum: sha1:20d7a2c931260ac6d0be246c4006ace83ea3a405 + docs/Models/Operations/IllicitDrugs.md: + last_write_checksum: sha1:6c22b3f7ba2fe6543168126ae107f7b7126b5037 + docs/Models/Operations/IllicitFirearms.md: + last_write_checksum: sha1:50bc8c8b2c19d8a003fc3cf76be1626c283c8e03 + docs/Models/Operations/IllicitGambling.md: + last_write_checksum: sha1:9d4a8bbadf14ae785dc289ec559acd9232b5b648 + docs/Models/Operations/IllicitTobacco.md: + last_write_checksum: sha1:04757ac19b3be1e8056e350ef4e1dda39dfd4b9a + docs/Models/Operations/ImageRequest.md: + last_write_checksum: sha1:c66d22f625dcb8d11ad9160b7aee149b25c0dce1 + docs/Models/Operations/ImageResponse.md: + last_write_checksum: sha1:ab7b3629fe004f5fde476380993e04999f461684 + docs/Models/Operations/Insight.md: + last_write_checksum: sha1:687d3363306188f05031fac64a7e85c2de834cb2 + docs/Models/Operations/IsFlagged.md: + last_write_checksum: sha1:485ae6b936c26d2243791b77716775fff9dff379 + docs/Models/Operations/LanguageInsight.md: + last_write_checksum: sha1:1ca64a19c63e220b7984941bb96dc77234a8032e + docs/Models/Operations/ListActionsData.md: + last_write_checksum: sha1:39b87422f92dc49d467bd591cfbca6897c4ee955 + docs/Models/Operations/ListActionsPosition.md: + last_write_checksum: sha1:9f1a00f267aabe4982617df65ad7162175778a8f + docs/Models/Operations/ListActionsPossibleValue.md: + last_write_checksum: sha1:06d6e7feb9b804831e23d0afadaa6727f881d9ab + docs/Models/Operations/ListActionsQueueBehaviour.md: + last_write_checksum: sha1:2ce17ac10ce3c61b35fb177a088037d9485c9920 + docs/Models/Operations/ListActionsRequest.md: + last_write_checksum: sha1:b12d8db02439868ae9acec66c5f8cfc73cc3c997 + docs/Models/Operations/ListActionsResponse.md: + last_write_checksum: sha1:e2be97cbec27c544659baf908d5e9ecb52716229 + docs/Models/Operations/ListActionsResponseBody.md: + last_write_checksum: sha1:e2548bcf8d593aa869a5cb36f7c5e63c5e3e5cf7 + docs/Models/Operations/ListActionsType.md: + last_write_checksum: sha1:3faa1997dc8d38f0ca9a12309deca30dd193a32b + docs/Models/Operations/ListAuthorsRequest.md: + last_write_checksum: sha1:d3018a71ab43cd620c70a10754705fe4767da48c + docs/Models/Operations/ListAuthorsResponse.md: + last_write_checksum: sha1:c94a1efc7f86964a9159fdc8fe1200cbf0dcb62b + docs/Models/Operations/ListAuthorsResponseBody.md: + last_write_checksum: sha1:343a54799bfc67ae39fd87019a928a7fa501a147 + docs/Models/Operations/ListAuthorsSortDirection.md: + last_write_checksum: sha1:70a60f9fade4ca5a0665baf4ed4c793fc7112252 + docs/Models/Operations/ListChannelsRequest.md: + last_write_checksum: sha1:e58378442af33101d74b1ece7b43b6967a54d48c + docs/Models/Operations/ListChannelsResponse.md: + last_write_checksum: sha1:35df8796292dae51217d771df77d4341c23bf4de + docs/Models/Operations/ListChannelsResponseBody.md: + last_write_checksum: sha1:745a45a12cef44df3b8b17806357ce2a31250301 + docs/Models/Operations/ListProjectsRequest.md: + last_write_checksum: sha1:a549ef297b3c250022d2c5bcb1a0b4af241e733f + docs/Models/Operations/ListProjectsResponse.md: + last_write_checksum: sha1:08846d0c506db3151e48a76ec76b6ddf3fb9e2c3 + docs/Models/Operations/ListProjectsResponseBody.md: + last_write_checksum: sha1:c8d8b71e4488fe5cbd4a65320bedd3f250d05c26 + docs/Models/Operations/ListQueueItemsAction.md: + last_write_checksum: sha1:03bfec9a8d17504dc9b4920204ee4b76abc9f443 + docs/Models/Operations/ListQueueItemsData.md: + last_write_checksum: sha1:fddf27625be228aabfcc9a8e49e58c78e888c581 + docs/Models/Operations/ListQueueItemsLabel.md: + last_write_checksum: sha1:57afb1138db827561edd8c574ad01dd7182a3506 + docs/Models/Operations/ListQueueItemsRequest.md: + last_write_checksum: sha1:7aad449c4dce04ceed2f57d5c20bdbd8c79e710f + docs/Models/Operations/ListQueueItemsResponse.md: + last_write_checksum: sha1:76b991316ed29264e755e4415578e9f06a8e0c8f + docs/Models/Operations/ListQueueItemsResponseBody.md: + last_write_checksum: sha1:b51737c2b3fa1579aa060e8e2aba9181fd2754bf + docs/Models/Operations/ListQueueItemsSortDirection.md: + last_write_checksum: sha1:3246c6abd1d984c6b1fd067361a9c6a819477ae3 + docs/Models/Operations/ListQueueItemsStatus.md: + last_write_checksum: sha1:995d259ab0de13a8d07a86a3617b9b3cc25f64af + docs/Models/Operations/ListWebhooksData.md: + last_write_checksum: sha1:38ccc106459f0d87d574b06b6b032279de307181 + docs/Models/Operations/ListWebhooksEventType.md: + last_write_checksum: sha1:463d464417bae09a4b984ad8c9df3f24447fac09 + docs/Models/Operations/ListWebhooksPayloadVersion.md: + last_write_checksum: sha1:340572c959aa5cdc165bc4e72868880bd774fd5f + docs/Models/Operations/ListWebhooksRequest.md: + last_write_checksum: sha1:96cca270297739e6c94b6dade3055d500ee30532 + docs/Models/Operations/ListWebhooksResponse.md: + last_write_checksum: sha1:118987580439842a19d35b88f034c175d4b6a0c3 + docs/Models/Operations/ListWebhooksResponseBody.md: + last_write_checksum: sha1:1ab3752c58f76cdbe2150c456b9a41346c682482 + docs/Models/Operations/ListWordlistsData.md: + last_write_checksum: sha1:acab4667f14a1aac32b9de3b62c29acdb198bfcb + docs/Models/Operations/ListWordlistsRequest.md: + last_write_checksum: sha1:21ee79a51bcf722dba1f76983099be611651b540 + docs/Models/Operations/ListWordlistsResponse.md: + last_write_checksum: sha1:dbb76da5dc339cbe53a03338ce2ffd51016b59ea + docs/Models/Operations/ListWordlistsResponseBody.md: + last_write_checksum: sha1:8aed14c96993227d820b3f287769b260d7144210 + docs/Models/Operations/LowQualityContent.md: + last_write_checksum: sha1:bbf8721fdf822c3fdff2acd28e94cd210efa07e1 + docs/Models/Operations/MatchT.md: + last_write_checksum: sha1:9bcc3fa717172c36cd220188fdd741a2997f9533 + docs/Models/Operations/MatchedRule.md: + last_write_checksum: sha1:108d0cca595b818288048c922cb463419838af9d + docs/Models/Operations/MediaType.md: + last_write_checksum: sha1:f7276717d1706226e0ad85c4cb090ef1369bcc63 + docs/Models/Operations/Meta.md: + last_write_checksum: sha1:1ca5fca8646bf928f3cd6e44e4fbb92d039f230b + docs/Models/Operations/MetaStatus.md: + last_write_checksum: sha1:29320e3bfcc6378f4df7b662325eb4e60236b619 + docs/Models/Operations/MetaType.md: + last_write_checksum: sha1:b51c4f2518149ca7f1a87fc66cdd229ce02fc8fd + docs/Models/Operations/MetadataFilter.md: + last_write_checksum: sha1:2839ce87b0e80c633b739a5511f6281f0c339f76 + docs/Models/Operations/Method.md: + last_write_checksum: sha1:fd85d8a62435e6580c8d4b2dec0013b8f90d62a0 + docs/Models/Operations/Modified.md: + last_write_checksum: sha1:db0dd2b0c30f8811b450805b63eac02e936cadcd + docs/Models/Operations/ObjectT.md: + last_write_checksum: sha1:7387fcb49ddab34bc3ba70536bad175aede5c198 + docs/Models/Operations/PIIMasking.md: + last_write_checksum: sha1:52e6b3fd677f3b92ae70d84a320a9b4db8926093 + docs/Models/Operations/PersonalInformation.md: + last_write_checksum: sha1:6a5cd9fc4b24c3ad3691003bbecd4fdff1eb4640 + docs/Models/Operations/PersonalStoryInsight.md: + last_write_checksum: sha1:5fa0cd0629a259da38fd1f7208cb2042586efd23 + docs/Models/Operations/PolicyRequest.md: + last_write_checksum: sha1:0147baf73bb1c465c9ab15191be013d0869948ac + docs/Models/Operations/PolicyResponse.md: + last_write_checksum: sha1:fd20ea71a31838d0d67e2e4824b6e7d3e38fb3db + docs/Models/Operations/Political.md: + last_write_checksum: sha1:0b61a6002187619cba151230d9abe575293f0fe8 + docs/Models/Operations/Profanity.md: + last_write_checksum: sha1:8519d169f71f083b03ba229039d4063160c4f723 + docs/Models/Operations/Promotion.md: + last_write_checksum: sha1:4f98eab398ce8b66eaef4da70b3d050430235278 + docs/Models/Operations/Queue.md: + last_write_checksum: sha1:14c7ce62652b12defc97c82948fefc098f79d2a6 + docs/Models/Operations/ReasonCode.md: + last_write_checksum: sha1:c36eee5a2f16fa55cc683307415a8b9c19d7b2dd + docs/Models/Operations/ReasonCodeEnum.md: + last_write_checksum: sha1:18ad353107b85619d4bb580085e74b7e259b016e + docs/Models/Operations/Recommendation.md: + last_write_checksum: sha1:8a0a2a3ff358c4599d95b1641d0e34450c1b4ae3 + docs/Models/Operations/Religion.md: + last_write_checksum: sha1:4dafe8419b1c34e4b9db06ddf46ebf4d2e6a70f2 + docs/Models/Operations/RemoveWordlistWordsRequest.md: + last_write_checksum: sha1:3b39eda924ae8ebe11662a63b47132aabdd0d7f6 + docs/Models/Operations/RemoveWordlistWordsResponse.md: + last_write_checksum: sha1:e0e9b71e5809d6ee4d63070f34a1300c33f0dab5 + docs/Models/Operations/RemoveWordlistWordsResponseBody.md: + last_write_checksum: sha1:fd7813fca61c3aedd3405949ae1e889bc151239d + docs/Models/Operations/ResolveQueueItemRequest.md: + last_write_checksum: sha1:334299a05b4decf0627e161e825327d32e5e7014 + docs/Models/Operations/ResolveQueueItemRequestBody.md: + last_write_checksum: sha1:1800ca9c7d7cfaacca71957bb53adab7cd256fee + docs/Models/Operations/ResolveQueueItemResponse.md: + last_write_checksum: sha1:045ce38326d9ff36e7ec593be667cf0fcfc042f8 + docs/Models/Operations/ResolveQueueItemResponseBody.md: + last_write_checksum: sha1:99c139020eb912bc9f7b4737fcf030ca1691e598 + docs/Models/Operations/RespectInsight.md: + last_write_checksum: sha1:bd2d45e1df3eeb9c4be98781dcc625d41892a777 + docs/Models/Operations/ReviewStats.md: + last_write_checksum: sha1:d688fa654a4ceec959ae700deb7cd0b33fb922e8 + docs/Models/Operations/Scores.md: + last_write_checksum: sha1:c83b10da5cf13a45af72e7fbd45ce5b1a17bb482 + docs/Models/Operations/SelfHarm.md: + last_write_checksum: sha1:dcdd71cd33db2a47f3d9aa50bf48c9e008873fe8 + docs/Models/Operations/SelfPromotion.md: + last_write_checksum: sha1:5166639c0e2106022f775b4e5d6b98cc78a58fba + docs/Models/Operations/SentimentInsight.md: + last_write_checksum: sha1:5f63ce4e4790a66bc54de78755574db88131cef1 + docs/Models/Operations/Sexual.md: + last_write_checksum: sha1:47da4ccfb75cf4d041c9a380497347137c96e606 + docs/Models/Operations/SexualMinors.md: + last_write_checksum: sha1:9c5c3772dcee952ebe174a2c57b1524026db0d83 + docs/Models/Operations/SexualSolicitation.md: + last_write_checksum: sha1:18160c2d52f6fe2fca69059d2776524edc50a56e + docs/Models/Operations/SignalsRequest.md: + last_write_checksum: sha1:c0e6ff6c160c2431d23bbc15f6ea991f576d7cd4 + docs/Models/Operations/SignalsResponse.md: + last_write_checksum: sha1:ab81434597d9401b483d689acf9cc993b1fd8473 + docs/Models/Operations/SortBy.md: + last_write_checksum: sha1:d4af0f6f08da774c39bf552fd971f487c4177d71 + docs/Models/Operations/SortField.md: + last_write_checksum: sha1:0304d58fbe1fabdf861dd30c2bbe226b37f386da + docs/Models/Operations/Spam.md: + last_write_checksum: sha1:6e7851776faefff4aa06f857356f1fa018b38023 + docs/Models/Operations/SubmitContentLabel.md: + last_write_checksum: sha1:23f6bbb5dd684a69e94b4f895a421a27e9f52ec4 + docs/Models/Operations/SubmitContentRecommendationAction.md: + last_write_checksum: sha1:b8e9f6a5210ef87c29c7f350ccddfe883e83f605 + docs/Models/Operations/SubmitContentRequest.md: + last_write_checksum: sha1:173d9fd398e8c5fe60350dcf2f6c1c7f65b9fc48 + docs/Models/Operations/SubmitContentResponse.md: + last_write_checksum: sha1:e9c17f5657f3d9e6ef368d40240b85c53df4dff3 + docs/Models/Operations/SubmitContentResponseBody.md: + last_write_checksum: sha1:d1af755e138c76c9dfdf6373ef7505552115f25c + docs/Models/Operations/TextRequest.md: + last_write_checksum: sha1:f83a68d8eff40ce3a0103fb4ffba61c569570cef + docs/Models/Operations/TextResponse.md: + last_write_checksum: sha1:3cc2625c68ffa4d052c44c2f1d1bdd81d57b1a52 + docs/Models/Operations/Threat.md: + last_write_checksum: sha1:48e0e8dbf03fab455c137a9bc2c190db3cd722a8 + docs/Models/Operations/Tobacco.md: + last_write_checksum: sha1:5024622aa1ab377f4b6661faf141f44745a1151e + docs/Models/Operations/TopAction.md: + last_write_checksum: sha1:9723f4322e3fe25122645e65032000eb15a4dd9e + docs/Models/Operations/TopReviewer.md: + last_write_checksum: sha1:5625d455c228913b9f9cf83a5fd4f5e18b773e84 + docs/Models/Operations/Topic.md: + last_write_checksum: sha1:c5579bebed791f746e3e72eed6dc66441bc9ecc7 + docs/Models/Operations/Toxicity.md: + last_write_checksum: sha1:fc36ffa455a1e6c5ffccd0acc21dfaa73f36e010 + docs/Models/Operations/TranscriptionQuality.md: + last_write_checksum: sha1:26d77a6238fd05215deb6ec885d59cc5a0fca64d + docs/Models/Operations/Trends.md: + last_write_checksum: sha1:a5f3e90c67de9d0a757c0e80cd6cf16a2142f780 + docs/Models/Operations/TrustLevel.md: + last_write_checksum: sha1:59c7fab1ac94b8a21cebb6f15e753672b4ac8f1f + docs/Models/Operations/URLMasking.md: + last_write_checksum: sha1:5c2b0f11ca4b9c12a113f1de7a23ab5520ec2b67 + docs/Models/Operations/URLRisk.md: + last_write_checksum: sha1:82fa237bb807096341a656ae2794efc39fb2c40b + docs/Models/Operations/UnicodeSpoofing.md: + last_write_checksum: sha1:dcc11bf5e62c90b2ac0c2f11329dfdabd0c205ef + docs/Models/Operations/UnresolveQueueItemRequest.md: + last_write_checksum: sha1:ddecc7c0e8352e1abda2d022bf2971d8145a174f + docs/Models/Operations/UnresolveQueueItemRequestBody.md: + last_write_checksum: sha1:fdb81f1fc9aa95002621d4cbf2379fbe8e289849 + docs/Models/Operations/UnresolveQueueItemResponse.md: + last_write_checksum: sha1:e28749d8dd7c7f06578dc5822f2b7a293f489bc4 + docs/Models/Operations/UnresolveQueueItemResponseBody.md: + last_write_checksum: sha1:a819fea859515de27071231235ad53f758f43308 + docs/Models/Operations/UpdateActionPositionRequest.md: + last_write_checksum: sha1:d066a156fcc3dcd62131c01b307ae9412b45a5e9 + docs/Models/Operations/UpdateActionPositionResponse.md: + last_write_checksum: sha1:3d9a952cad50ef8ca09fb8551bc50ba814369949 + docs/Models/Operations/UpdateActionPossibleValueRequest.md: + last_write_checksum: sha1:cf570289e46ee6efba3a53b5e73eb613edb0a93d + docs/Models/Operations/UpdateActionPossibleValueResponse.md: + last_write_checksum: sha1:08ae8241fd2914a7f48ef0b708a93b55d1cdc0e8 + docs/Models/Operations/UpdateActionQueueBehaviourRequest.md: + last_write_checksum: sha1:3bba6d80929b21f04f9d591ab1ecfb902b7487d2 + docs/Models/Operations/UpdateActionQueueBehaviourResponse.md: + last_write_checksum: sha1:0120c46dff33f5ff47ce5f561824e42ba45d3dbe + docs/Models/Operations/UpdateActionRequest.md: + last_write_checksum: sha1:80b681d69418c07b2ea976ef2a968f67314fa5ba + docs/Models/Operations/UpdateActionRequestBody.md: + last_write_checksum: sha1:341d1566c7ce1d4bfa2dad27ac874674cf16c7d8 + docs/Models/Operations/UpdateActionResponse.md: + last_write_checksum: sha1:9903180096778d643050dacf79291e7ca9b4b4ba + docs/Models/Operations/UpdateActionResponseBody.md: + last_write_checksum: sha1:8620c7ff90dbddfdde032a00335112386d21454e + docs/Models/Operations/UpdateActionTypeRequest.md: + last_write_checksum: sha1:d2e5394275450d0f460d8272ecf206fc2a4e3796 + docs/Models/Operations/UpdateActionTypeResponse.md: + last_write_checksum: sha1:ca88a17939f834c70de05db5912571a5df151cac + docs/Models/Operations/UpdateAuthorMetadata.md: + last_write_checksum: sha1:4c3c1ddf47f6124a0acdaf8e659a5a9f10485116 + docs/Models/Operations/UpdateAuthorRequest.md: + last_write_checksum: sha1:c4db915e9bdb4e3bca8dbf78133c4e90ebcb23c1 + docs/Models/Operations/UpdateAuthorRequestBody.md: + last_write_checksum: sha1:42460753284c620cc42fc696ab49ef61249cd20c + docs/Models/Operations/UpdateAuthorResponse.md: + last_write_checksum: sha1:5a0c1855bf6c4667e31ca52a61d439adbd9ded9e + docs/Models/Operations/UpdateChannelContentType.md: + last_write_checksum: sha1:66786064eaca141ff9d45d72e0e79624bac7997a + docs/Models/Operations/UpdateChannelRequest.md: + last_write_checksum: sha1:4ffd9660b4bfff0c7fec08338655f59cfe72d63c + docs/Models/Operations/UpdateChannelRequestBody.md: + last_write_checksum: sha1:f58513f3e7390890a50da27d454bc107c1c49adc + docs/Models/Operations/UpdateChannelResponse.md: + last_write_checksum: sha1:4613c35cf5d50726beb28f4063bf527b9b361a0d + docs/Models/Operations/UpdateProjectRequest.md: + last_write_checksum: sha1:27955c624636e3cc55444a3d1dd1af39b0298c90 + docs/Models/Operations/UpdateProjectRequestBody.md: + last_write_checksum: sha1:01654dffad7585c8e3414fba3e975ea981cc3cf7 + docs/Models/Operations/UpdateProjectResponse.md: + last_write_checksum: sha1:cb291cdc5443201892a417d32ae65f35f00ff1cf + docs/Models/Operations/UpdateWebhookEventTypeRequest.md: + last_write_checksum: sha1:d50027883c96fc7ac8d0ac7a20efeb778f095216 + docs/Models/Operations/UpdateWebhookEventTypeResponse.md: + last_write_checksum: sha1:1c3eb8f00ffbf5ad724ce3739dbfbea25b57b3d6 + docs/Models/Operations/UpdateWebhookPayloadVersion.md: + last_write_checksum: sha1:a7b148d92f1d18cfb79b16fa3d716ed4593a28d5 + docs/Models/Operations/UpdateWebhookRequest.md: + last_write_checksum: sha1:afb97212818ce6c2cfabf7b919ea8c9eee501c1a + docs/Models/Operations/UpdateWebhookRequestBody.md: + last_write_checksum: sha1:685106d93400695395ccddb0814d70d2cd054c8f + docs/Models/Operations/UpdateWebhookResponse.md: + last_write_checksum: sha1:113f5fc7db4f14066dff4377b34457f8a5e502e8 + docs/Models/Operations/UpdateWebhookResponseBody.md: + last_write_checksum: sha1:664bc06a56ec1a03dbaafad9b949bc6d24c2e18d + docs/Models/Operations/UpdateWordlistRequest.md: + last_write_checksum: sha1:bd1cd7a4ba3bfa7d9a6848ea2b9e87d9368d155a + docs/Models/Operations/UpdateWordlistRequestBody.md: + last_write_checksum: sha1:fe8075134703770b447178e9a79e32c053b63a36 + docs/Models/Operations/UpdateWordlistResponse.md: + last_write_checksum: sha1:9103fbf7258ff2ce306c9f59f51ae53ce9fdbaf4 + docs/Models/Operations/UpdateWordlistResponseBody.md: + last_write_checksum: sha1:5b8c379a29a53c04e4d45f8c5d8cf65ec3a76f35 + docs/Models/Operations/Value.md: + last_write_checksum: sha1:dab64f291ceaeaf93c200c535d29abe45c67767c + docs/Models/Operations/Verdict.md: + last_write_checksum: sha1:0bc246faf3a9e172d9581c9631eb60b0af45f2a9 + docs/Models/Operations/VideoRequest.md: + last_write_checksum: sha1:df3c270e8305d0bfa9e34e13c7b032868ab8c418 + docs/Models/Operations/VideoResponse.md: + last_write_checksum: sha1:202a5796ffea5f01f156f5daeb1be0a5240b7677 + docs/Models/Operations/Violence.md: + last_write_checksum: sha1:ae2605755b2dafd5eebe68276bd61abe5ce40003 + docs/Models/Operations/Weapons.md: + last_write_checksum: sha1:b7fb9abc8a6e92b1a60e80bbe29e402502e3c85e + docs/Models/Operations/WithinUnit.md: + last_write_checksum: sha1:569a6533d5762727109074fe181f89e0ea99eb6a + docs/sdks/account/README.md: + last_write_checksum: sha1:ff1ac978b0f6d4f17c0fd52be95db67f5c19be0a + docs/sdks/actions/README.md: + last_write_checksum: sha1:9763c368b517288e9a5df4a02476630a4f6b1bda + docs/sdks/authors/README.md: + last_write_checksum: sha1:83ae071bc2d45e4c51a9720bf1b5676295ad0f59 + docs/sdks/channels/README.md: + last_write_checksum: sha1:784bad3ada3395f36a632bf3a16f7cd944cb9c5e + docs/sdks/content/README.md: + last_write_checksum: sha1:d1a7476f9997f70e3470a9c0d59022f10da1c187 + docs/sdks/items/README.md: + last_write_checksum: sha1:6646597f2e664d9d499bb5894139f7ea01ba039f + docs/sdks/projects/README.md: + last_write_checksum: sha1:867175adea7355b0fa2e9a014b6a62272d188d83 + docs/sdks/queue/README.md: + last_write_checksum: sha1:e6b91c359fe26f4f06e7efd7b4bc48efbec386a0 + docs/sdks/webhooks/README.md: + last_write_checksum: sha1:3af09f644d6b66d85b6dd536495cad080a4afb1c + docs/sdks/webhooksecret/README.md: + last_write_checksum: sha1:cc52970568a1c535805640832db0bb8d77c5815b + docs/sdks/wordlist/README.md: + last_write_checksum: sha1:6a13526973cbf38e9558668bb2233402f240a36c + docs/sdks/words/README.md: + last_write_checksum: sha1:770223d54a30af4a1555f24450906f95a655ed0f + phpstan.neon: + last_write_checksum: sha1:c76cf3ac20b114f85cd6c3b569a6e297d00b4612 + phpunit.xml: + last_write_checksum: sha1:1a2f73f76c0929634baf4e48f5718b9a2449be79 + pint.json: + last_write_checksum: sha1:2359db512d27012e65e376b39996d3b78f87a95a + rector.php: + last_write_checksum: sha1:2c0586f29783d1cdf80ea09f3ed0f4693329f3e6 + src/Account.php: + last_write_checksum: sha1:d6e5dda2ebdf10278a0dde448e173e2faa04870c + src/Actions.php: + last_write_checksum: sha1:d4869f0530f412bd3d15d9e47a1cdfdb8fdd05f2 + src/Authors.php: + last_write_checksum: sha1:b6704040f60fbed99b10257502fd10fff6eb2227 + src/Channels.php: + last_write_checksum: sha1:e21a72abd3bcc3c758a5b6be405a9c9ae913e2f6 + src/Content.php: + last_write_checksum: sha1:7218bacaa7f1e0d7d121564b39fe39eec7e549c8 + src/Hooks/AfterErrorContext.php: + last_write_checksum: sha1:b345a66e5dcb5c691b2bf573efe1e00f3351d19c + src/Hooks/AfterErrorHook.php: + last_write_checksum: sha1:3b42f8af3f96e7cf9e793a3494381b82e6fa260c + src/Hooks/AfterSuccessContext.php: + last_write_checksum: sha1:04817b45244e7d0070bc1afe545b659872e0f05b + src/Hooks/AfterSuccessHook.php: + last_write_checksum: sha1:d9794e31f1d5cee800ab86aa2a80dd0f179e4b04 + src/Hooks/BeforeRequestContext.php: + last_write_checksum: sha1:ffaf45e5bbf64621352ef099d13d68c48f764d67 + src/Hooks/BeforeRequestHook.php: + last_write_checksum: sha1:1f9b4346a379dcd2ba9963f0a976fb22e5798ca6 + src/Hooks/Credentials.php: + last_write_checksum: sha1:1d724d3a38556c1ed1c23771ebb169541421991a + src/Hooks/ErrorResponseContext.php: + last_write_checksum: sha1:45970712c8092f4969d339659b25e1bcd96ba3b8 + src/Hooks/FailEarlyException.php: + last_write_checksum: sha1:8d2bfe19929f714926f00b2f60485c1ee43486ef + src/Hooks/HookContext.php: + last_write_checksum: sha1:90e6e3d84e9d26d5fa0d98b65dd89360d29aca84 + src/Hooks/Hooks.php: + last_write_checksum: sha1:3181fb9c029a95c27e82fe0881660b697dbc30a2 + src/Hooks/SDKHooks.php: + last_write_checksum: sha1:a9ef60d78ae0652137adabab81c435567976f269 + src/Hooks/SDKInitHook.php: + last_write_checksum: sha1:5dde025bc452f4434e1faaa2e89bb5ed887792c4 + src/Hooks/Session.php: + last_write_checksum: sha1:d2c516aaebf66c8b91fa2186f819d34311965526 + src/Hooks/TokenResponse.php: + last_write_checksum: sha1:4f4b445bf43144d2d423367512caf2ac8f63341d + src/Items.php: + last_write_checksum: sha1:ff85a30779195a290377e4877e017672e6d1479c + src/Models/Components/AuthenticationErrorCode.php: + last_write_checksum: sha1:903736b77081716fb731d0d241fd98149b46eee9 + src/Models/Components/BadRequestErrorCode.php: + last_write_checksum: sha1:1657a16fd2052e21eb8c18da47e240ffb7ccdfba + src/Models/Components/Block.php: + last_write_checksum: sha1:918ae12854bff879ffb2c47d83ffbb3f2538241b + src/Models/Components/Channel.php: + last_write_checksum: sha1:1209d993e25ae1978187a3009a3342b09882fce7 + src/Models/Components/ConflictErrorCode.php: + last_write_checksum: sha1:de081936d8371ef0549358b531e2c7fdc2a3c9b1 + src/Models/Components/ContentType.php: + last_write_checksum: sha1:cae55c3b4ba1555f7a8e1bec424ffcc269b9a824 + src/Models/Components/ErrorIssue.php: + last_write_checksum: sha1:2f2987b62420c99a75732acab361535a646dc333 + src/Models/Components/FlaggingMode.php: + last_write_checksum: sha1:6ecaf0420aa64bfcf5d7b3efed8b59463a172dbf + src/Models/Components/InternalServerErrorCode.php: + last_write_checksum: sha1:c36e98c51be081cb848c35be081b92c45323c4af + src/Models/Components/Metadata.php: + last_write_checksum: sha1:52a945a0eae66b07095c5a2cdc16b6de488f9a96 + src/Models/Components/Metrics.php: + last_write_checksum: sha1:74934775960bca9de6dbfde9602044ff605a155e + src/Models/Components/NotFoundErrorCode.php: + last_write_checksum: sha1:3d7012243f5c3074106d95cc2ff920c415abdaa7 + src/Models/Components/Pagination.php: + last_write_checksum: sha1:7ba60cd247dab634581430e335d141743772e8ee + src/Models/Components/PermissionDeniedErrorCode.php: + last_write_checksum: sha1:153ece16f8e5a0289dfbf26d6c969f2107f9c624 + src/Models/Components/Project.php: + last_write_checksum: sha1:4c8ff4f14ee36ea43736c54d4c5d55f9ae72d01e + src/Models/Components/ProjectGlobalFlaggingMode.php: + last_write_checksum: sha1:920d6e4b01b19955391b9f2287ace6ff7ace252f + src/Models/Components/ProjectWithKey.php: + last_write_checksum: sha1:73d079e7219a4a00113be091bd8307b11a8c0272 + src/Models/Components/ProjectWithKeyGlobalFlaggingMode.php: + last_write_checksum: sha1:e387e7c10d0709acdea51ababf3b2725f023db85 + src/Models/Components/PublicAuthor.php: + last_write_checksum: sha1:78091317e37f318a77d927c65f87cc33dceafef1 + src/Models/Components/RateLimitErrorCode.php: + last_write_checksum: sha1:844cbcc3afeff81426880edb1445ac4fdbf08613 + src/Models/Components/RiskEvaluation.php: + last_write_checksum: sha1:49a38c3eb6ea96e34f353860d97703e6ae0da584 + src/Models/Components/Security.php: + last_write_checksum: sha1:259f5fd4b048adbf06d0d4ca022f632ddb5dfc16 + src/Models/Components/Status.php: + last_write_checksum: sha1:58e963ea8cf114f1a005f277b6a8597abfd721ac + src/Models/Components/TranscriptionQuality.php: + last_write_checksum: sha1:accc4f0a36f22f8c74c95f3cc17101090619516c + src/Models/Components/TrustLevel.php: + last_write_checksum: sha1:fd6bf50af0992e5e93709cdcdbd575e3689b25dc + src/Models/Errors/APIException.php: + last_write_checksum: sha1:99463dce1f6a8d3dc43ab51b8c584b870d6813e6 + src/Models/Errors/AuthenticationError.php: + last_write_checksum: sha1:4f93f09914bb473836a5c7fd8a65f208ec4df43e + src/Models/Errors/AuthenticationErrorThrowable.php: + last_write_checksum: sha1:bacbc1ed3f9c68f87ba17890ec68903fb586ad38 + src/Models/Errors/BadRequestError.php: + last_write_checksum: sha1:753165e682850dc00509520e814a68b78a44742c + src/Models/Errors/BadRequestErrorThrowable.php: + last_write_checksum: sha1:e61d38061c476360d7d4816f2dfbc45d2f3c6758 + src/Models/Errors/ConflictError.php: + last_write_checksum: sha1:489982ee3779119143e69b2ab5a090f2f72cbef4 + src/Models/Errors/ConflictErrorThrowable.php: + last_write_checksum: sha1:1fe9fcb6c164b538a8544930f096ac08ee57ce1a + src/Models/Errors/InternalServerError.php: + last_write_checksum: sha1:cf05cecd82b0d31e911d55a159726f4be871f30d + src/Models/Errors/InternalServerErrorThrowable.php: + last_write_checksum: sha1:2ef03a0dbbd8bfb8a2d4b534ef63adee8c3e88d2 + src/Models/Errors/NotFoundError.php: + last_write_checksum: sha1:bdf5b62cf2ba96c8dfbb50780ef7deac20393247 + src/Models/Errors/NotFoundErrorThrowable.php: + last_write_checksum: sha1:b774c27ab506ce7cc11f8657988a21cfa26e13ad + src/Models/Errors/PermissionDeniedError.php: + last_write_checksum: sha1:a249e143444877288f0a3904bdac9a82a0f91a86 + src/Models/Errors/PermissionDeniedErrorThrowable.php: + last_write_checksum: sha1:eefce68fd94be0cccef6a518d74031b648980cdc + src/Models/Errors/RateLimitError.php: + last_write_checksum: sha1:3241d3a296b601b5766c0c2378fa7b35e820b544 + src/Models/Errors/RateLimitErrorThrowable.php: + last_write_checksum: sha1:93aaaa67e9cc3c4ba33bf8bb8ef9663ae9c2b5b6 + src/Models/Operations/ActionRequest.php: + last_write_checksum: sha1:8312d9ffd54e9dc741d50147872a1b4765bf2454 + src/Models/Operations/ActionStat.php: + last_write_checksum: sha1:044f1a6cf8fd19215358b3a711d6d4cc1d0637b3 + src/Models/Operations/AddWordlistWordsRequest.php: + last_write_checksum: sha1:82c1a4260c6ca9482cecdd225138b96390d72875 + src/Models/Operations/AddWordlistWordsRequestBody.php: + last_write_checksum: sha1:cd9c142857de573a2d6af9837fba2309816ea0cd + src/Models/Operations/AddWordlistWordsResponse.php: + last_write_checksum: sha1:413bdf12a21c9d50ecfc56a726af1b816d76db83 + src/Models/Operations/AddWordlistWordsResponseBody.php: + last_write_checksum: sha1:adc1b5df5386309a404a90321ecec0bdbf0e2d3b + src/Models/Operations/Adult.php: + last_write_checksum: sha1:65862e2ce8996c4e57429338f779efa1a8638d7e + src/Models/Operations/Alcohol.php: + last_write_checksum: sha1:21d86b9a5f1545d4e235b5cb82ef6fb685f255fa + src/Models/Operations/AudioRequest.php: + last_write_checksum: sha1:15aee9a8a6e255b6c2f33b113ea61dd2e9cc8a2a + src/Models/Operations/AudioResponse.php: + last_write_checksum: sha1:aeacdffb737fbd3671657f52a01e4df840f1530d + src/Models/Operations/Author.php: + last_write_checksum: sha1:45eed73261a08b157ce44d60d6efb2774a886f27 + src/Models/Operations/AuthorStatus.php: + last_write_checksum: sha1:a0e6790c923776952fcc3298bda4a14ad287d0cd + src/Models/Operations/Behavior.php: + last_write_checksum: sha1:2a5fee2268a9f25ce53ba19c94fff59bde6a4482 + src/Models/Operations/Block.php: + last_write_checksum: sha1:75526ef624ec34529e56e0200dcefa281a58911f + src/Models/Operations/BrandImpersonation.php: + last_write_checksum: sha1:250e4cb1e589d9cff3b6df3e2bc25f25bda7308b + src/Models/Operations/Cannabis.php: + last_write_checksum: sha1:7f9e084cd732b9e4b55ecb053c652f2d043d0d90 + src/Models/Operations/Casebook.php: + last_write_checksum: sha1:3686a4cd467890504006ab214de5396bca710dc6 + src/Models/Operations/CasebookAgreement.php: + last_write_checksum: sha1:c0cc60f6424be0a06dbcf1db2a84b1861f3f2e9e + src/Models/Operations/CasebookAnswer.php: + last_write_checksum: sha1:6281cf630a762980c2f018b977301fa90571e31b + src/Models/Operations/ChannelCircumvention.php: + last_write_checksum: sha1:7aefc50bbf0ac23f677ab41942cb608dac50cfed + src/Models/Operations/CheckStatus.php: + last_write_checksum: sha1:93e3f845fc705bafe940906d01792c637c72157f + src/Models/Operations/ClassifierOutput.php: + last_write_checksum: sha1:778483ec70336efd69a43b2030225ff89e5c2697 + src/Models/Operations/ClientAction.php: + last_write_checksum: sha1:77b17fccf1b278bd35aaec872b9b2d71e059ecf5 + src/Models/Operations/CodeAbuse.php: + last_write_checksum: sha1:7e440212558e17d43573b070066ae5bacaac4cee + src/Models/Operations/Comparator.php: + last_write_checksum: sha1:ca40f8c286cabaa3873a07d6cb465aa82db9b72a + src/Models/Operations/CompassionInsight.php: + last_write_checksum: sha1:dd960aac55a0fca383848195741bbb8c73c99e30 + src/Models/Operations/ContentResponse.php: + last_write_checksum: sha1:3ce89f9dd1352bafc5e093b9fc5e9abe2bbe4319 + src/Models/Operations/CreateActionPositionRequest.php: + last_write_checksum: sha1:10101724f2404a11c57ddee72043d4bd0be7b59b + src/Models/Operations/CreateActionPositionResponse.php: + last_write_checksum: sha1:30d2698699e6c8fdff68aa8db1e0d7cb76f41ce4 + src/Models/Operations/CreateActionPossibleValueRequest.php: + last_write_checksum: sha1:5f3a97b906964172eee658e3c143bd1b7b60226a + src/Models/Operations/CreateActionPossibleValueResponse.php: + last_write_checksum: sha1:d4b45b0892a13ad6cfc9ac4aa0c32b9eff9fbd19 + src/Models/Operations/CreateActionQueueBehaviourRequest.php: + last_write_checksum: sha1:b1dba780b3832fb19ac8f9e7c19ac45f07fe3ccf + src/Models/Operations/CreateActionQueueBehaviourResponse.php: + last_write_checksum: sha1:313bcd625e89178af4d06de97282b56f2f23380b + src/Models/Operations/CreateActionRequest.php: + last_write_checksum: sha1:1dd35087cf2966b37533baada1c13f370b497f44 + src/Models/Operations/CreateActionResponse.php: + last_write_checksum: sha1:b60f839334fa4d5c7859322db57a56951317260b + src/Models/Operations/CreateActionResponseBody.php: + last_write_checksum: sha1:0bbd207f977cba16c138e1cff65ad7681433dfee + src/Models/Operations/CreateActionTypeRequest.php: + last_write_checksum: sha1:def433caba39f49b2a14b514fd3f1845f55dc22f + src/Models/Operations/CreateActionTypeResponse.php: + last_write_checksum: sha1:fdfb691ab5587779ac5e9b4108ad5935afe43f05 + src/Models/Operations/CreateAuthorMetadata.php: + last_write_checksum: sha1:87d57a17914c29041de19c2bb4138a822ed24744 + src/Models/Operations/CreateAuthorRequest.php: + last_write_checksum: sha1:ee322e69fda5e5bbda78dabb9e933d3e6495621e + src/Models/Operations/CreateAuthorResponse.php: + last_write_checksum: sha1:3a5efddfea090ce088cc9c03fc25262f3ab9c5c0 + src/Models/Operations/CreateChannelContentType.php: + last_write_checksum: sha1:13af016a4eebe20eb6b94d7ce77032ea7bed67af + src/Models/Operations/CreateChannelRequest.php: + last_write_checksum: sha1:38c2bf14cf661722c5e4a14e539c74163edd2515 + src/Models/Operations/CreateChannelRequestBody.php: + last_write_checksum: sha1:6704da4d885154485ef3ba6ed76b04e1091113f3 + src/Models/Operations/CreateChannelResponse.php: + last_write_checksum: sha1:9311e697bd0392f5132c1569d567710854e3052b + src/Models/Operations/CreateProjectRequest.php: + last_write_checksum: sha1:0030064ee218a8e52d9c66c4054355045f749cad + src/Models/Operations/CreateProjectResponse.php: + last_write_checksum: sha1:6c9e408b7c58bc7389d7503caf33111ca86fc4b1 + src/Models/Operations/CreateWebhookEventTypeRequest.php: + last_write_checksum: sha1:b0def24018c15affa014075eb4eae1fde7c14858 + src/Models/Operations/CreateWebhookEventTypeResponse.php: + last_write_checksum: sha1:d6a6688567af888bf96387685b35059e8af8162f + src/Models/Operations/CreateWebhookPayloadVersion.php: + last_write_checksum: sha1:dcddf61864e95fb647b43c892473995e7feb2560 + src/Models/Operations/CreateWebhookRequest.php: + last_write_checksum: sha1:fd3e21414adc7495ce5c78dbd38e491794f62ca8 + src/Models/Operations/CreateWebhookResponse.php: + last_write_checksum: sha1:a321682cb48fb638a686cc1bbfe4d03fb5b522e2 + src/Models/Operations/CreateWebhookResponseBody.php: + last_write_checksum: sha1:ef378179a3c6bf0fa3f18a66311cc769c54704e8 + src/Models/Operations/Crypto.php: + last_write_checksum: sha1:018573196850196e65ade490d6c0a8d6e84f417a + src/Models/Operations/CuriosityInsight.php: + last_write_checksum: sha1:1a0cf5fec532671222f947c1b44d9484f6daad2c + src/Models/Operations/CurrentProject.php: + last_write_checksum: sha1:4c53463c4a8f542feb2da63296705b49b058a47e + src/Models/Operations/DailyReviewCount.php: + last_write_checksum: sha1:55cbef99c63aa2299daf7b76d4d7de29a46f374a + src/Models/Operations/DataAudio.php: + last_write_checksum: sha1:bb5559d0b15405a2423f731caceb604379fd8c32 + src/Models/Operations/DataImage.php: + last_write_checksum: sha1:19831a8b7b97831becf97cbe0fd8e889fd02f294 + src/Models/Operations/DataText.php: + last_write_checksum: sha1:e2aeacfb417a74f9054ad0de6066796fd2a3ba10 + src/Models/Operations/DataVideo.php: + last_write_checksum: sha1:4dccc253a0c8b286d38af7d806d11d8be7788ecc + src/Models/Operations/DeleteActionRequest.php: + last_write_checksum: sha1:ea6fd38a59e369fab4f623c8c54685070f87b4ed + src/Models/Operations/DeleteActionResponse.php: + last_write_checksum: sha1:f2bf397d8a5338926aa4b7c210111a38e673c91b + src/Models/Operations/DeleteActionResponseBody.php: + last_write_checksum: sha1:1d484357e5d39e48a6c3f421fa2d9d817f0b4c68 + src/Models/Operations/DeleteAuthorRequest.php: + last_write_checksum: sha1:33bfee35ea4df635b59fbb133af888d24601ff67 + src/Models/Operations/DeleteAuthorResponse.php: + last_write_checksum: sha1:c8ebb0b3287231ba23751000d2ef94f795b97cfa + src/Models/Operations/DeleteAuthorResponseBody.php: + last_write_checksum: sha1:f473d441e7b0260e35ca73d358449eab7f561840 + src/Models/Operations/DeleteChannelRequest.php: + last_write_checksum: sha1:4d55ccf64c35c104ec59b755110837606e02ff61 + src/Models/Operations/DeleteChannelResponse.php: + last_write_checksum: sha1:dea59793e840bf1ae89212c84023581e3f68a7dc + src/Models/Operations/DeleteChannelResponseBody.php: + last_write_checksum: sha1:7026fd7c10f6e7c634c2d576f898a04671b3504b + src/Models/Operations/DeleteProjectRequest.php: + last_write_checksum: sha1:abe5b1c5802c18ce374f94d46f7564171a3647a2 + src/Models/Operations/DeleteProjectResponse.php: + last_write_checksum: sha1:bb838988186fb0be078e0c32f4e66ad1cdba1af9 + src/Models/Operations/DeleteProjectResponseBody.php: + last_write_checksum: sha1:f2e3f57e6e1c383dd374647b95d31bfec55f51e9 + src/Models/Operations/DeleteWebhookRequest.php: + last_write_checksum: sha1:fdcedfe3ef3c0a85ddce8aa70a443c202728db49 + src/Models/Operations/DeleteWebhookResponse.php: + last_write_checksum: sha1:c02adbc6a20d61a9bef2a7e3a54f921be157e72d + src/Models/Operations/DeleteWebhookResponseBody.php: + last_write_checksum: sha1:c009dbf6fd2e394e010bc881e88de2d437c5b4cf + src/Models/Operations/Drugs.php: + last_write_checksum: sha1:28ca14192e186489807005748d6f926ac09c8bc7 + src/Models/Operations/DuplicateChannelRequest.php: + last_write_checksum: sha1:7c5088f147fbbb5a6978276ed5905363d5efffcd + src/Models/Operations/DuplicateChannelRequestBody.php: + last_write_checksum: sha1:b2171b47fcbf0f5d86328cca2f538b7a39cdf960 + src/Models/Operations/DuplicateChannelResponse.php: + last_write_checksum: sha1:7119502f98d46d9b754466f772092521fde71cb6 + src/Models/Operations/DuplicateProjectRequest.php: + last_write_checksum: sha1:8cd9c537f394230fec1cf048eec33728823e9af4 + src/Models/Operations/DuplicateProjectRequestBody.php: + last_write_checksum: sha1:fefa6368c2cb77ff57e08ffda3c47537ef7194ce + src/Models/Operations/DuplicateProjectResponse.php: + last_write_checksum: sha1:2688f8f9d3975815550dc9837253a19d727659c1 + src/Models/Operations/Entities1.php: + last_write_checksum: sha1:a23867053e35635d2b9842f6ae7c57236b622fc7 + src/Models/Operations/Entities2.php: + last_write_checksum: sha1:3336657bc73b9bcfadb7535aefa9886a3085d62f + src/Models/Operations/EntityMatcherOutput.php: + last_write_checksum: sha1:7d91db3182e0d5270d1d55931f9a23058145294f + src/Models/Operations/Error.php: + last_write_checksum: sha1:cca38520f1f97e9b3d93c1b338e70e59a9068bf8 + src/Models/Operations/Evaluation.php: + last_write_checksum: sha1:a63ce92e36cae2dc2be9305d04d3893d6a442ee4 + src/Models/Operations/ExecuteActionRequest.php: + last_write_checksum: sha1:261b9c875ea9b2c6d06dc063c9a46b24a695ede8 + src/Models/Operations/ExecuteActionResponse.php: + last_write_checksum: sha1:3fd15a00a8bccc0167ee30686ebc8efcf25a3652 + src/Models/Operations/ExecuteActionResponseBody.php: + last_write_checksum: sha1:2a90bd7aaa540b66f86740a30d6506ee9ca08596 + src/Models/Operations/Extremism.php: + last_write_checksum: sha1:0ce414a69024c1aabced5e8119d1b1acff0679c2 + src/Models/Operations/FaceDetection.php: + last_write_checksum: sha1:93001dff7a776387ae93909da1740033f55f99be + src/Models/Operations/Filter.php: + last_write_checksum: sha1:b3d50ea902dff5fb07161fe45e06ed6e9c9f805e + src/Models/Operations/FilterLabel.php: + last_write_checksum: sha1:e20c63a35171dc1ed6825b482733b5184553eb29 + src/Models/Operations/FlaggedContentTrend.php: + last_write_checksum: sha1:432595f2a65a5c733a76d4ee50cee579112462d3 + src/Models/Operations/FlaggingMode.php: + last_write_checksum: sha1:46ef364d7538d4218ea41268c2480610c76ef0a1 + src/Models/Operations/Gambling.php: + last_write_checksum: sha1:ce701dbd4fd3f3a2aaa509fbe1dc62e37b0cecc8 + src/Models/Operations/GetAccountResponse.php: + last_write_checksum: sha1:d8b431f1ea282814bdfc9ca80f068f39a5074d56 + src/Models/Operations/GetAccountResponseBody.php: + last_write_checksum: sha1:4ef411821f84d40d22965f1612a88e71bd4bea5c + src/Models/Operations/GetActionPosition.php: + last_write_checksum: sha1:ef2095e51da9d4b54c51467b0755de5e7aeddc76 + src/Models/Operations/GetActionPossibleValue.php: + last_write_checksum: sha1:a001846a613f7d144df824b510b02b5bf94ba145 + src/Models/Operations/GetActionQueueBehaviour.php: + last_write_checksum: sha1:ae630aa7d41eec1848123c9af1e901e48ce11e7c + src/Models/Operations/GetActionRequest.php: + last_write_checksum: sha1:09aa5bc1ddca625dfcb9e49477b830b15f8460c0 + src/Models/Operations/GetActionResponse.php: + last_write_checksum: sha1:baae3308fb5aa12a98b02595dcbdd3a48f75b959 + src/Models/Operations/GetActionResponseBody.php: + last_write_checksum: sha1:fe954fdb97b25056b16e3ad9fafc8e9272b0c019 + src/Models/Operations/GetActionType.php: + last_write_checksum: sha1:fcf2c33e09f6c896fded285f64d4bed9548c185a + src/Models/Operations/GetAuthorRequest.php: + last_write_checksum: sha1:1adca02babc7ff2d0d90eb0ad8fd10bddf9602f7 + src/Models/Operations/GetAuthorResponse.php: + last_write_checksum: sha1:e5c6517e769fc7b0c5d8139327b1d12926dff8da + src/Models/Operations/GetChannelRequest.php: + last_write_checksum: sha1:112adad824fa2c4bc11a66eac391081ff1942e03 + src/Models/Operations/GetChannelResponse.php: + last_write_checksum: sha1:7e762473ef9d29b3742a67ea419f2d575f3af84a + src/Models/Operations/GetProjectRequest.php: + last_write_checksum: sha1:8e4f46e08da93523917dc6a6ee7a0ddb178240d3 + src/Models/Operations/GetProjectResponse.php: + last_write_checksum: sha1:3baf996a7a38d1d566fa10d64b4a1ce93b879c8a + src/Models/Operations/GetQueueContentType.php: + last_write_checksum: sha1:f192ff57012150a07cbed93a9ab5f18855dde80f + src/Models/Operations/GetQueueRecommendationAction.php: + last_write_checksum: sha1:0f5a10569d177612578212a0b9d97140a1296b7c + src/Models/Operations/GetQueueRequest.php: + last_write_checksum: sha1:c61d492a04422f0c594af378e4001d8c7e9e3e4a + src/Models/Operations/GetQueueResponse.php: + last_write_checksum: sha1:fd66044c894e522ac92cab79793b2f41169ec298 + src/Models/Operations/GetQueueResponseBody.php: + last_write_checksum: sha1:2ca5dca83fd39bbafefca851d093a577e8bc12ac + src/Models/Operations/GetQueueStatsRequest.php: + last_write_checksum: sha1:8b0e58185f2f09a5ef6ecd8ef646ea217513e5ed + src/Models/Operations/GetQueueStatsResponse.php: + last_write_checksum: sha1:dde9ab723d155e5e55f60e1c498d32c47181533d + src/Models/Operations/GetQueueStatsResponseBody.php: + last_write_checksum: sha1:c958ba0c42e149693cf972bf11ef13e32b809759 + src/Models/Operations/GetQueueType.php: + last_write_checksum: sha1:65c31302210c53cc401c75d82e2ebfab75372565 + src/Models/Operations/GetWebhookEventType.php: + last_write_checksum: sha1:a687a88ca242e7d02bd37291ac2d182f693b9f64 + src/Models/Operations/GetWebhookPayloadVersion.php: + last_write_checksum: sha1:5ac2d564aa48f415a0fc29c7c89f281fee832f1a + src/Models/Operations/GetWebhookRequest.php: + last_write_checksum: sha1:6ed2856bfa7448a81105d1a9c4b6da9628681348 + src/Models/Operations/GetWebhookResponse.php: + last_write_checksum: sha1:56e9ecda90f2f48ce9a0ab26ab517b7b18a967fb + src/Models/Operations/GetWebhookResponseBody.php: + last_write_checksum: sha1:4e0885fa5571b72a7e35b4f9374691e6e4c5f1c7 + src/Models/Operations/GetWebhookSecretResponse.php: + last_write_checksum: sha1:da002d0f56812b48bd32105501c9f1b80afea107 + src/Models/Operations/GetWebhookSecretResponseBody.php: + last_write_checksum: sha1:92a28e74d3e264c0c97f97a7a079a50ee6358bcb + src/Models/Operations/GetWordlistEmbeddingStatusRequest.php: + last_write_checksum: sha1:9294d55598f4207e624db2f0ff5737c697c1d20e + src/Models/Operations/GetWordlistEmbeddingStatusResponse.php: + last_write_checksum: sha1:efd22df7e9ea92f09462d244e886d64c5005d00e + src/Models/Operations/GetWordlistEmbeddingStatusResponseBody.php: + last_write_checksum: sha1:63599f1504d30689717e8c73fdd62aaaa579e71f + src/Models/Operations/GetWordlistRequest.php: + last_write_checksum: sha1:a0cc806d223bb682c316c4dc37b3175d3413ff5d + src/Models/Operations/GetWordlistResponse.php: + last_write_checksum: sha1:109838af6005b73b1d1c68ef254a9b5b18afaefd + src/Models/Operations/GetWordlistResponseBody.php: + last_write_checksum: sha1:eac260d8936fc563a654ec54211487493dc20c7e + src/Models/Operations/GlobalFlaggingMode.php: + last_write_checksum: sha1:2d8c68b0e929aa884f0dad0bb71a541469a0b66d + src/Models/Operations/Guideline.php: + last_write_checksum: sha1:90b4817e27b1ca9fcde5a6a37831ed770cb8720d + src/Models/Operations/Hate.php: + last_write_checksum: sha1:22f9b66b04e8ca5cf56a08d2eaf6bb71a5529c3c + src/Models/Operations/IllegalTrade.php: + last_write_checksum: sha1:84d373a16397ad28b9804c5d0c1dafe222b8042e + src/Models/Operations/Illicit.php: + last_write_checksum: sha1:8e880c33333eb76e20c21b2542f08d7eab208e7a + src/Models/Operations/IllicitAlcohol.php: + last_write_checksum: sha1:db7e7c3fec132c1d805017218204e18595349f26 + src/Models/Operations/IllicitDrugs.php: + last_write_checksum: sha1:208dda1043927d74a5eaab3d7ab87bb58cb43e8a + src/Models/Operations/IllicitFirearms.php: + last_write_checksum: sha1:a015bbeac1b6491e1e89b6b195db2e0bfbeae455 + src/Models/Operations/IllicitGambling.php: + last_write_checksum: sha1:4192e14231821d00bc20150b68e9fdbe74aa3fc3 + src/Models/Operations/IllicitTobacco.php: + last_write_checksum: sha1:fc19e4111731a210a823ac440dc666b8ab75d84f + src/Models/Operations/ImageRequest.php: + last_write_checksum: sha1:ef9497c5c77eb5e8fe310051376e13fbc44b1d71 + src/Models/Operations/ImageResponse.php: + last_write_checksum: sha1:decbce91ed291f85b9088f73352e79165f0eb3e6 + src/Models/Operations/IsFlagged.php: + last_write_checksum: sha1:116d9790b61ef0202446448b1443e7f21831d591 + src/Models/Operations/LanguageInsight.php: + last_write_checksum: sha1:9f255d2a530d6627eebe3ce7277c1cb74ae25474 + src/Models/Operations/ListActionsData.php: + last_write_checksum: sha1:c53fbf94f8a2ae4ab5df345b78838a35e8b5ca96 + src/Models/Operations/ListActionsPosition.php: + last_write_checksum: sha1:8acbaa65bb2298882c766f51ff5fc96a51d4a3eb + src/Models/Operations/ListActionsPossibleValue.php: + last_write_checksum: sha1:2a52cf03ef4f1235203ab3092c9e979d63100667 + src/Models/Operations/ListActionsQueueBehaviour.php: + last_write_checksum: sha1:0c8e33b429fa9ca12b03cdac8223a6b201027b2f + src/Models/Operations/ListActionsRequest.php: + last_write_checksum: sha1:5def34106b13956ba7310f9f72746d672b07c6fa + src/Models/Operations/ListActionsResponse.php: + last_write_checksum: sha1:57db3b2d174ad07cdb1b5f5556d6e9dad9bd025c + src/Models/Operations/ListActionsResponseBody.php: + last_write_checksum: sha1:059b1f111c6970ce2afa66ba4bd7b70bca7dd727 + src/Models/Operations/ListActionsType.php: + last_write_checksum: sha1:0c8962ffc3ef8451b1d12eaba04a61f24f51765f + src/Models/Operations/ListAuthorsRequest.php: + last_write_checksum: sha1:2ea59c12e5e50e21a0a0a980575e58a89061cac8 + src/Models/Operations/ListAuthorsResponse.php: + last_write_checksum: sha1:310c8d4e136956f38222de060dc3460ede0c185e + src/Models/Operations/ListAuthorsResponseBody.php: + last_write_checksum: sha1:5c592e0ee20b132e8b103e7bfa5516eb068c6b1b + src/Models/Operations/ListAuthorsSortDirection.php: + last_write_checksum: sha1:7b0d0d25c60775b8c7bfdc9e22ef7fc8a4d1392d + src/Models/Operations/ListChannelsRequest.php: + last_write_checksum: sha1:fe53f4a34e821c51cf416b567ef45ca14bc30079 + src/Models/Operations/ListChannelsResponse.php: + last_write_checksum: sha1:8d454fe0357bd641e1c5116ceb6cbd1ff47f3af2 + src/Models/Operations/ListChannelsResponseBody.php: + last_write_checksum: sha1:a45ee0da6229231cfa5dc41d1942ac84be425507 + src/Models/Operations/ListProjectsRequest.php: + last_write_checksum: sha1:06bcfef3804fd614632ff33dbe2d1eae38803fba + src/Models/Operations/ListProjectsResponse.php: + last_write_checksum: sha1:700caf1797027d561b2f7b2f7a6151ef8f1fe942 + src/Models/Operations/ListProjectsResponseBody.php: + last_write_checksum: sha1:ba53e664854647fe1af07ddba6d1bd632d453893 + src/Models/Operations/ListQueueItemsAction.php: + last_write_checksum: sha1:252ff47c2c1f9b2946d2c2c61bfcfb5b61551671 + src/Models/Operations/ListQueueItemsData.php: + last_write_checksum: sha1:0fd3ac043807fea4336154e55ef5312e14512de5 + src/Models/Operations/ListQueueItemsLabel.php: + last_write_checksum: sha1:0d5d3dcd6b113f05a8cbe0ea2a4a64a02c503edc + src/Models/Operations/ListQueueItemsRequest.php: + last_write_checksum: sha1:94a8ea26891ce8d9ffa648241bc74e6658dab051 + src/Models/Operations/ListQueueItemsResponse.php: + last_write_checksum: sha1:3277eea35702e991534b8f51d1333fefde8e5779 + src/Models/Operations/ListQueueItemsResponseBody.php: + last_write_checksum: sha1:9cb231ce4e1db42cabdef294249fd2843b832740 + src/Models/Operations/ListQueueItemsSortDirection.php: + last_write_checksum: sha1:1191580718876d0d4f07a860b6f99f8296967994 + src/Models/Operations/ListQueueItemsStatus.php: + last_write_checksum: sha1:95753cb269e0c02e1c803e3744d7effe364a658d + src/Models/Operations/ListWebhooksData.php: + last_write_checksum: sha1:d2c0eb94ea30c94961fa342289ef268498bee7e0 + src/Models/Operations/ListWebhooksEventType.php: + last_write_checksum: sha1:7059641b5218d6c322256601fcd31309f537bf02 + src/Models/Operations/ListWebhooksPayloadVersion.php: + last_write_checksum: sha1:fbeca33e8478ebfc89591df3e1b7b7fdf8527a9e + src/Models/Operations/ListWebhooksRequest.php: + last_write_checksum: sha1:b48a0ca9068ed18f87a2d7f718a37453fdf7df0d + src/Models/Operations/ListWebhooksResponse.php: + last_write_checksum: sha1:f9fb807c707dd6565fcbc4d589c7fc88c70f94bd + src/Models/Operations/ListWebhooksResponseBody.php: + last_write_checksum: sha1:ac8435c5508b774ea2cc882e146784197d066ab7 + src/Models/Operations/ListWordlistsData.php: + last_write_checksum: sha1:69c58130e30f976fb171c36fc457df97cc8e4bd5 + src/Models/Operations/ListWordlistsRequest.php: + last_write_checksum: sha1:c56c3b98bd50efceb69f2f5c6b71b32eabcaafbd + src/Models/Operations/ListWordlistsResponse.php: + last_write_checksum: sha1:7cdcc8c5efdc90d59c57b26601660cfbed556dea + src/Models/Operations/ListWordlistsResponseBody.php: + last_write_checksum: sha1:bf7b865c5691f4ebb09444deb67583a170775576 + src/Models/Operations/LowQualityContent.php: + last_write_checksum: sha1:e9ee68edb3695e424b5a2475c725b226d2d503aa + src/Models/Operations/MatchT.php: + last_write_checksum: sha1:6ea67267df6aee773b7db1ec8f928ceec39099f0 + src/Models/Operations/MatchedRule.php: + last_write_checksum: sha1:acaf6d97d48e7b7bcb0c11a563d3141f49228db9 + src/Models/Operations/MediaType.php: + last_write_checksum: sha1:f53dea6ffcb3e10b3fee0ebbf20d67d0dbb2a5a2 + src/Models/Operations/Meta.php: + last_write_checksum: sha1:58ecf28153646d9fefe65503f236ae07a58597f8 + src/Models/Operations/MetaStatus.php: + last_write_checksum: sha1:c93ace3576ade67f1dc40c7f1d596bc00fe48232 + src/Models/Operations/MetaType.php: + last_write_checksum: sha1:b859f8207af7f8826328bf98656bd5a1dd760fb0 + src/Models/Operations/MetadataFilter.php: + last_write_checksum: sha1:6daf42c32238c5d5831dae5ed91e2dc437ce1def + src/Models/Operations/Method.php: + last_write_checksum: sha1:f439b06a61fcda19dfefbad2b3c2b24d338940e5 + src/Models/Operations/ObjectT.php: + last_write_checksum: sha1:5b7dbd91a8698ba06d9a7b14df189d58bace9ea2 + src/Models/Operations/PIIMasking.php: + last_write_checksum: sha1:4a2cafdfaf0e831dafdf52582665181771e3494d + src/Models/Operations/PersonalInformation.php: + last_write_checksum: sha1:a6ba0792bfe5dd905614317be678d899fb45835f + src/Models/Operations/PersonalStoryInsight.php: + last_write_checksum: sha1:faf646f1632dec7f26a732c2d7ba7636d3ce67f7 + src/Models/Operations/Political.php: + last_write_checksum: sha1:c98a4ec1651731a391e32ef0ab1f55290bcdca27 + src/Models/Operations/Profanity.php: + last_write_checksum: sha1:d2e0d680a270dcb0f8450e4048a6535d2a80fb50 + src/Models/Operations/Promotion.php: + last_write_checksum: sha1:f77e3d2f92c8b1555c21f0ef92891f064afb32f4 + src/Models/Operations/Queue.php: + last_write_checksum: sha1:093ed12a0c18ff0046a47f1d60ac2e56404eaa6a + src/Models/Operations/ReasonCodeEnum.php: + last_write_checksum: sha1:6bf4ea761289ac785e0255c7f3804d9565d3cd96 + src/Models/Operations/Recommendation.php: + last_write_checksum: sha1:cbb4a1aa8b649021dfeb1a3ff4b245bd7ba15509 + src/Models/Operations/Religion.php: + last_write_checksum: sha1:77cf485d673e50a293b5261c256cb572133adac7 + src/Models/Operations/RemoveWordlistWordsRequest.php: + last_write_checksum: sha1:a17a87c4501b48b2f2afcdd1c93f9e0ee278047f + src/Models/Operations/RemoveWordlistWordsResponse.php: + last_write_checksum: sha1:0c8f1f021c5e4d53e010198da9ede996b7b232b9 + src/Models/Operations/RemoveWordlistWordsResponseBody.php: + last_write_checksum: sha1:616012ca61922bfb310e29c791df90767b646c44 + src/Models/Operations/ResolveQueueItemRequest.php: + last_write_checksum: sha1:450f5d0047c4c4af7b0cbf4631faa9e087f1c8e6 + src/Models/Operations/ResolveQueueItemRequestBody.php: + last_write_checksum: sha1:eca8b3874e279a09dc505a2804be0e0e41ece1fc + src/Models/Operations/ResolveQueueItemResponse.php: + last_write_checksum: sha1:633e4f018e58afd3489001095a8e53e6d4a007cb + src/Models/Operations/ResolveQueueItemResponseBody.php: + last_write_checksum: sha1:ace4c07a8d15b66f9b763f2ffcaa5c93aa364fad + src/Models/Operations/RespectInsight.php: + last_write_checksum: sha1:c762707b020bd49e5342940627e1babf9142fc64 + src/Models/Operations/ReviewStats.php: + last_write_checksum: sha1:c5274a36adfcd6e692bf07a11cdb0e76bcd476f6 + src/Models/Operations/Scores.php: + last_write_checksum: sha1:7d134a524f316f12841ac3657207ca12d680ed83 + src/Models/Operations/SelfHarm.php: + last_write_checksum: sha1:46874583a71b6fd6b5526bcd85b708e9b92cd5b8 + src/Models/Operations/SelfPromotion.php: + last_write_checksum: sha1:c672f6445919094ecfbe5a9b9f10f5fffd21a52b + src/Models/Operations/SentimentInsight.php: + last_write_checksum: sha1:3e5759f4660f519a40c5c6a248a8fbebdb397d02 + src/Models/Operations/Sexual.php: + last_write_checksum: sha1:fe15aa8e0ef78cd18296e39b7b224d07e3e76a1b + src/Models/Operations/SexualMinors.php: + last_write_checksum: sha1:fe40791714554c7e385c42d7047403c96bb79396 + src/Models/Operations/SexualSolicitation.php: + last_write_checksum: sha1:4dd91ba7d986420ebe9a62f38f71424b1a689ee5 + src/Models/Operations/SignalsRequest.php: + last_write_checksum: sha1:7e04252d0fbc5ab89e01f6d3176420ba0f5fd76f + src/Models/Operations/SignalsResponse.php: + last_write_checksum: sha1:def75e4b92c4ea9f8e01724d9ff1847e261b976e + src/Models/Operations/SortBy.php: + last_write_checksum: sha1:dc1c0b3a159bc97742dddcd11237c7e4db376323 + src/Models/Operations/SortField.php: + last_write_checksum: sha1:4829ae93bb79bbe05d5afb328c84eff740c38006 + src/Models/Operations/Spam.php: + last_write_checksum: sha1:5463f9d553e47cd3cf501022f832853f73103fee + src/Models/Operations/SubmitContentLabel.php: + last_write_checksum: sha1:876d17769cf3d2caf71a0a631bd4291b7af35813 + src/Models/Operations/SubmitContentRecommendationAction.php: + last_write_checksum: sha1:828f11273d8233c82dbc41be5c2c12b907aad56c + src/Models/Operations/SubmitContentRequest.php: + last_write_checksum: sha1:7acacfba5ed4f773fa55d426768111c7913ba372 + src/Models/Operations/SubmitContentResponse.php: + last_write_checksum: sha1:69f1b46bd44843fddb5c9ac81e89607ad6ca0019 + src/Models/Operations/SubmitContentResponseBody.php: + last_write_checksum: sha1:4b9a24ba2478d35f6574057911206ff6686f0f60 + src/Models/Operations/TextRequest.php: + last_write_checksum: sha1:de9a86c059fc52f9be85775b7b0ae02f3f766f2c + src/Models/Operations/TextResponse.php: + last_write_checksum: sha1:1994b09298ede440ecd9d0486a250533df9ce64f + src/Models/Operations/Threat.php: + last_write_checksum: sha1:efb18420ee2927e7369d4aa54356e1715978db02 + src/Models/Operations/Tobacco.php: + last_write_checksum: sha1:f3e92463a1ad04b8e5c85ec0673225ffd0231857 + src/Models/Operations/TopAction.php: + last_write_checksum: sha1:7c745a27c874bee3859a7e413c97fd417dfd33cb + src/Models/Operations/TopReviewer.php: + last_write_checksum: sha1:903c4f998cfe636fc84d7f7b2819c59feba2ffb2 + src/Models/Operations/Topic.php: + last_write_checksum: sha1:725b1071a1be0e5b9b43dd8f5958705057b65b07 + src/Models/Operations/Toxicity.php: + last_write_checksum: sha1:da7e4a0800153b256759dbc03d2f0fb3c763bd8f + src/Models/Operations/TranscriptionQuality.php: + last_write_checksum: sha1:48ea134068f1b2ecf10c9817f799a2907f7535b4 + src/Models/Operations/Trends.php: + last_write_checksum: sha1:d5286238cb76588d850cc7153289a5d6c713d3e4 + src/Models/Operations/TrustLevel.php: + last_write_checksum: sha1:043f941971dff3a81f1bca92adc4f4304fa2fdf8 + src/Models/Operations/URLMasking.php: + last_write_checksum: sha1:af31a9e2dbcc0b3d5515e8b9862ee120dc4dd8df + src/Models/Operations/URLRisk.php: + last_write_checksum: sha1:8efa82103426e087409aa5ebdb81accdf03dd407 + src/Models/Operations/UnicodeSpoofing.php: + last_write_checksum: sha1:280971a1558295ec10314a1f8ea945083b2b10e2 + src/Models/Operations/UnresolveQueueItemRequest.php: + last_write_checksum: sha1:a3e17d77a39988c0f70a211632f20da9506f3c71 + src/Models/Operations/UnresolveQueueItemRequestBody.php: + last_write_checksum: sha1:850deadebf4b9e3044dbbdd56992525937f60cc1 + src/Models/Operations/UnresolveQueueItemResponse.php: + last_write_checksum: sha1:2f5ec7c6a563b965063f5a5708b8edd7a1934b52 + src/Models/Operations/UnresolveQueueItemResponseBody.php: + last_write_checksum: sha1:4d44a1b6a7e38ea5eaadec9eff0f4aba28ee27b5 + src/Models/Operations/UpdateActionPositionRequest.php: + last_write_checksum: sha1:1d71584739b622c58be126452980422ac142c112 + src/Models/Operations/UpdateActionPositionResponse.php: + last_write_checksum: sha1:98fcfed7f985854c47b54ff00e31ac017eb07d1c + src/Models/Operations/UpdateActionPossibleValueRequest.php: + last_write_checksum: sha1:da5dc671ba094e5da3e51b0e74e49caa297105b7 + src/Models/Operations/UpdateActionPossibleValueResponse.php: + last_write_checksum: sha1:bd8f097124dc9117e2c61d5281540077803a2dab + src/Models/Operations/UpdateActionQueueBehaviourRequest.php: + last_write_checksum: sha1:e53aebb266cc5638049aa91d19593e8361574fa9 + src/Models/Operations/UpdateActionQueueBehaviourResponse.php: + last_write_checksum: sha1:093e54a0e1695af1ebfafdd71d7000d9884d5b78 + src/Models/Operations/UpdateActionRequest.php: + last_write_checksum: sha1:f7052a5eb295402fcd2396cf5f9e94490a958a78 + src/Models/Operations/UpdateActionRequestBody.php: + last_write_checksum: sha1:9aa9023855c8c17e77ccfa516c9fb5eb3ad4dcad + src/Models/Operations/UpdateActionResponse.php: + last_write_checksum: sha1:10d92383a695860b78607b8fb4e1694a67a30415 + src/Models/Operations/UpdateActionResponseBody.php: + last_write_checksum: sha1:8acebb833843a423cacfdf098ff3367f32dcbf1d + src/Models/Operations/UpdateActionTypeRequest.php: + last_write_checksum: sha1:8c7b2f14e64454a99d0354f8a6e1fb3f0be1e431 + src/Models/Operations/UpdateActionTypeResponse.php: + last_write_checksum: sha1:bc7eef3117ffa62ed59cc771fadccf37417ad5a6 + src/Models/Operations/UpdateAuthorMetadata.php: + last_write_checksum: sha1:f530dd3597b8dd3773d105b2af7930ae87f2c892 + src/Models/Operations/UpdateAuthorRequest.php: + last_write_checksum: sha1:3f706e8252de31bd0adfbf0017dc27369ba4cfef + src/Models/Operations/UpdateAuthorRequestBody.php: + last_write_checksum: sha1:90a85a572f6a627e4b2f1215cff2a16bcf17cd7f + src/Models/Operations/UpdateAuthorResponse.php: + last_write_checksum: sha1:d63f1a49b11e82f0c9e3cf9f4ad21570fc8ac28a + src/Models/Operations/UpdateChannelContentType.php: + last_write_checksum: sha1:d93ba888845a05a4695433ab849b2cecb73e7110 + src/Models/Operations/UpdateChannelRequest.php: + last_write_checksum: sha1:5f0edf9981a6f82611b3042ecf85b8358555ba84 + src/Models/Operations/UpdateChannelRequestBody.php: + last_write_checksum: sha1:ec95ddd4baafaf005113151a80ae6968b3242efe + src/Models/Operations/UpdateChannelResponse.php: + last_write_checksum: sha1:649b06d299af965843578aad5a5f0aa0aecd8a47 + src/Models/Operations/UpdateProjectRequest.php: + last_write_checksum: sha1:4c80a0b3991be00a416a4dda0feac16adf90a0cb + src/Models/Operations/UpdateProjectRequestBody.php: + last_write_checksum: sha1:02c3a67009c3ebd10a1b2ccb6f46b828e104024c + src/Models/Operations/UpdateProjectResponse.php: + last_write_checksum: sha1:17a9f796da9730cf62efa03de488758971f4f62f + src/Models/Operations/UpdateWebhookEventTypeRequest.php: + last_write_checksum: sha1:1bea8d83194fed68a56affc9adfe5caf0dcb7706 + src/Models/Operations/UpdateWebhookEventTypeResponse.php: + last_write_checksum: sha1:1fb539eed6ad351bfe2c1f1d84cdc633411ec348 + src/Models/Operations/UpdateWebhookPayloadVersion.php: + last_write_checksum: sha1:ab86561e2cdf2076c60459152bf356b480b35b2e + src/Models/Operations/UpdateWebhookRequest.php: + last_write_checksum: sha1:2045d5e5d1d210042087f3a47c238f1700faa1ec + src/Models/Operations/UpdateWebhookRequestBody.php: + last_write_checksum: sha1:36c01c23a9efd73d603a99720530cd426300bfe0 + src/Models/Operations/UpdateWebhookResponse.php: + last_write_checksum: sha1:6e0570c082eb6213c6581cb07463206b06783ced + src/Models/Operations/UpdateWebhookResponseBody.php: + last_write_checksum: sha1:007baee2512abe6a851b7db47f728889ece8c146 + src/Models/Operations/UpdateWordlistRequest.php: + last_write_checksum: sha1:51ef8756686941270479b694cb917864c9e53474 + src/Models/Operations/UpdateWordlistRequestBody.php: + last_write_checksum: sha1:4c87601c65a232654f2fdaa080aa5e6e19e773f7 + src/Models/Operations/UpdateWordlistResponse.php: + last_write_checksum: sha1:99c99fa27ae44ecb656ddf7d1213e517bc36cec9 + src/Models/Operations/UpdateWordlistResponseBody.php: + last_write_checksum: sha1:07ba09b9add0fb691106e39cc460b84f2314c4e8 + src/Models/Operations/Value.php: + last_write_checksum: sha1:62d4b0f77e8989e7efba74a6d3ddcd5a9d4777f5 + src/Models/Operations/Verdict.php: + last_write_checksum: sha1:651f82977ce5b0ebfa80aff14cf15ee80efacc9c + src/Models/Operations/VideoRequest.php: + last_write_checksum: sha1:80041f76340889dcaa498604f1629ae6acad4218 + src/Models/Operations/VideoResponse.php: + last_write_checksum: sha1:cfcf1bc4c3d7875dd7a31f777a74f9f70f9831b0 + src/Models/Operations/Violence.php: + last_write_checksum: sha1:5d64b4fea8852bf3be4c676b44263fdbc02a0ace + src/Models/Operations/Weapons.php: + last_write_checksum: sha1:6f08c11a3765a35008407445842f40c1b602db24 + src/Models/Operations/WithinUnit.php: + last_write_checksum: sha1:2bcee79806e20da2d6ea91de1185cbef7b687a2c + src/ModerationApi.php: + last_write_checksum: sha1:51aa6c5b26801f0dedc546eff7fa3e210972787f + src/ModerationApiBuilder.php: + last_write_checksum: sha1:16809f5bed82b4ad4c18f3322de18d04e32a372d + src/Projects.php: + last_write_checksum: sha1:50ff2ba13fe33e6d62384ff9825977e6efd40a34 + src/Queue.php: + last_write_checksum: sha1:96d3c46cf5515a01756160f09d4c87eb9315181a + src/SDKConfiguration.php: + last_write_checksum: sha1:e4afb919aa901b141982a198f783cf80119cc0f9 + src/Utils/BigDecimalHandler.php: + last_write_checksum: sha1:2d36b5ae690b042acfcdfe7e7277d44c5055416f + src/Utils/BigIntHandler.php: + last_write_checksum: sha1:a97c02f7bab8b80e4b107998f49140934e1bc2e9 + src/Utils/DateHandler.php: + last_write_checksum: sha1:540f27df019b917551e897fe33f08ff08a48153f + src/Utils/DateTimeHandler.php: + last_write_checksum: sha1:bf5bddb1496d15f483bf678e2acd5b293a337085 + src/Utils/DefaultRequest.php: + last_write_checksum: sha1:b89718b01cc1fc0c6d002370093ce8420d25ccae + src/Utils/DefaultResponse.php: + last_write_checksum: sha1:c5200ed569bd49398a331a9eadf37a51a19d5c1e + src/Utils/DefaultStream.php: + last_write_checksum: sha1:a60c9b8431ffc80c2b0e5332387161f7361011d6 + src/Utils/DefaultUri.php: + last_write_checksum: sha1:f858737d91f6f90dd129436b137a10dae8e3f560 + src/Utils/EnumHandler.php: + last_write_checksum: sha1:41540500d0bdfed0fda23fb4c81669bca540536d + src/Utils/FormMetadata.php: + last_write_checksum: sha1:61b69bff170826452c31038386ce116497dd6991 + src/Utils/Headers.php: + last_write_checksum: sha1:acc3c9d1277736e68786bcca4848c87da08da7c1 + src/Utils/JSON.php: + last_write_checksum: sha1:2118afab4f5f65ba8b3e0df3e6ed42139902fb04 + src/Utils/MixedJSONHandler.php: + last_write_checksum: sha1:0ddd7beed9931c3407ebbe5aa586135ecc6f859b + src/Utils/MultipartMetadata.php: + last_write_checksum: sha1:7e7e53f18b7db60366b29f7d2984ad5daa4e5f3c + src/Utils/Options.php: + last_write_checksum: sha1:c86a52bbaf59a26ae7682f635962db723454280e + src/Utils/ParamsMetadata.php: + last_write_checksum: sha1:c0db10d6812eec719500acce83bba9aaf4e2a250 + src/Utils/PathParameters.php: + last_write_checksum: sha1:97395af4722700b8bd01b12c4968a85cc8741c95 + src/Utils/PhpDocTypeParser.php: + last_write_checksum: sha1:750235546eb34483b77fd40c6bc55f84bd95d704 + src/Utils/QueryParameters.php: + last_write_checksum: sha1:64f5d4da9b52bbfd2ed32129786500606f9e6f09 + src/Utils/RequestBodies.php: + last_write_checksum: sha1:7f9e67ee22d550a0cbe606f3b7f2d863351a38a0 + src/Utils/RequestMetadata.php: + last_write_checksum: sha1:4bb6880383c118306e91986a888e425e1e62ace4 + src/Utils/Retry/PermanentError.php: + last_write_checksum: sha1:92c5cb7cfa5c6792ee6759e3aac6dab8953b8fe5 + src/Utils/Retry/RetryConfig.php: + last_write_checksum: sha1:d6375f7453aae4b7c9811d0bb5a22de4dbae6be0 + src/Utils/Retry/RetryConfigBackoff.php: + last_write_checksum: sha1:1ac9fe9b1017e03bc8f4802ec55880c7b1cfbe6f + src/Utils/Retry/RetryConfigNone.php: + last_write_checksum: sha1:ab92aacd7fa36446a0609c69d982a5d2e9d2342a + src/Utils/Retry/RetryStrategy.php: + last_write_checksum: sha1:175787be0b0f7e1a27a7e404a27e85263c69e613 + src/Utils/Retry/RetryUtils.php: + last_write_checksum: sha1:983058e45244c936e3e1281cb9fa132d29c2bcc1 + src/Utils/Retry/TemporaryError.php: + last_write_checksum: sha1:77861dccbe65c14d7e7505bd097a79830d258cc4 + src/Utils/Security.php: + last_write_checksum: sha1:d8eb03f61d385ff8067691fcd6d6d0e4cb6d9aec + src/Utils/SecurityClient.php: + last_write_checksum: sha1:a1d4f76b7d188c32858ca0764a7ae5d57a3fc9bf + src/Utils/SecurityMetadata.php: + last_write_checksum: sha1:9d0af4c7a874fade5580e2ced856d3e34510a722 + src/Utils/ServerDetails.php: + last_write_checksum: sha1:9835338cb9e66dde35223bd559f143d309699946 + src/Utils/SpeakeasyMetadata.php: + last_write_checksum: sha1:24f99de9ecf655aeaea49e495b469f9d671e8981 + src/Utils/UnionHandler.php: + last_write_checksum: sha1:4333344f1e077e5dc76acf89df8fa21dddf85557 + src/Utils/Utils.php: + last_write_checksum: sha1:04da74b34bc4af2fc4b85bd64e3dd39d176588b1 + src/WebhookSecret.php: + last_write_checksum: sha1:09a0d04cc3d38e452e40d1beb72280b8a5399eda + src/Webhooks.php: + last_write_checksum: sha1:996e5766ad5d02adf279162f18cc4c8936312e2c + src/Wordlist.php: + last_write_checksum: sha1:96793d106a3a19d8bf24b20c98d7323b8708f1ea + src/Words.php: + last_write_checksum: sha1:846bb7c716212a96d3e88cb58766195722ee46a7 +examples: + listAuthors: + speakeasy-default-list-authors: + parameters: + query: + page: 1 + pageSize: 20 + sortDirection: "desc" + responses: + "200": + application/json: {"data": [{"id": "", "first_seen": 4938.47, "last_seen": 5385.02, "status": "suspended", "trust_level": {"level": 3349.53, "manual": false}, "block": null, "risk_evaluation": {}, "metrics": {"total_content": 7036.05, "flagged_content": 1522.44}, "metadata": {}}], "pagination": {"page": 669906, "pageSize": 764456, "total": 2694, "totalPages": 420848, "hasMore": true}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://terrible-order.com/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://doting-creator.name/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://ignorant-brook.net"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://fair-spirit.com/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://biodegradable-bar.net"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://warmhearted-eternity.com/"} + createAuthor: + speakeasy-default-create-author: + requestBody: + application/json: {"external_id": ""} + responses: + "200": + application/json: {"id": "", "first_seen": 4812.06, "last_seen": 5162.05, "status": "enabled", "trust_level": {"level": 9033.2, "manual": true}, "block": {}, "risk_evaluation": null, "metrics": {"total_content": 3527.05, "flagged_content": 6547.27}, "metadata": {}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://worldly-oil.info"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://glorious-runway.net/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://cluttered-vision.net"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://secret-netsuke.biz/"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://favorite-mozzarella.biz/"} + getAuthor: + speakeasy-default-get-author: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "", "first_seen": 6376.87, "last_seen": 9245.24, "status": "suspended", "trust_level": {"level": 7361.01, "manual": true}, "block": {}, "risk_evaluation": null, "metrics": {"total_content": 5954.29, "flagged_content": 964.41}, "metadata": {}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://thorny-grandson.net"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://tinted-caption.org"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://sorrowful-zebra.biz"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://worthless-lamp.biz/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://mindless-certification.info/"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://snappy-precedent.info/"} + updateAuthor: + speakeasy-default-update-author: + parameters: + path: + id: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"id": "", "first_seen": 4195.42, "last_seen": 5769.79, "status": "blocked", "trust_level": {"level": 3132.55, "manual": false}, "block": null, "risk_evaluation": {}, "metrics": {"total_content": 75.01, "flagged_content": 9143.95}, "metadata": {}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://edible-cycle.net/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://legal-advertisement.org/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://tough-vibraphone.info"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://appropriate-pharmacopoeia.info/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://shiny-muscat.biz"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://trivial-label.org"} + deleteAuthor: + speakeasy-default-delete-author: + parameters: + path: + id: "" + responses: + "200": + application/json: {"success": false} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://heavenly-cycle.org"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://dead-forgery.name/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://fragrant-baseboard.net"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://doting-affect.biz/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://devoted-complication.com"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://palatable-transparency.com/"} + getQueue: + speakeasy-default-get-queue: + parameters: + path: + id: "" + responses: + "200": + application/json: {"queue": {"id": "", "name": "", "description": "furiously certification tighten", "filter": {}, "unresolvedItemsCount": 1559.96, "resolvedItemsCount": 1949.18, "totalItemsCount": 1912.44}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://actual-thyme.biz/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://weary-precedent.com"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://polite-pepper.com"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://posh-exhaust.name"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://insistent-sermon.info"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://burly-markup.info"} + getQueueStats: + speakeasy-default-get-queue-stats: + parameters: + path: + id: "" + query: + withinDays: 30 + responses: + "200": + application/json: {"reviewStats": {"averageTimeToReview": 3713.81, "totalReviewed": 9855.4, "totalPending": 2413.77}, "actionStats": [{"actionId": "", "actionName": "", "count": 4507.74, "percentageOfTotal": 3785.01}], "topReviewers": [], "trends": {"dailyReviewCounts": [{"date": "2024-07-26", "count": 794.3}], "flaggedContentTrends": []}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://accomplished-councilman.com/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://married-accelerator.name"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://stingy-wheel.info"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://sudden-nudge.biz/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://incomplete-populist.name"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://quixotic-version.name/"} + listQueueItems: + speakeasy-default-list-queue-items: + parameters: + path: + id: "" + query: + page: 1 + pageSize: 20 + sortDirection: "desc" + responses: + "200": + application/json: {"data": [{"id": "", "content": "", "labels": [{"label": "", "score": 3108.5, "flagged": false}], "flagged": false, "status": "resolved", "timestamp": 79.16}], "pagination": {"page": 42752, "pageSize": 933228, "total": 306038, "totalPages": 947297, "hasMore": true}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://back-status.info"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://complicated-premier.info/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://nocturnal-vanadyl.info/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://hot-corporation.info/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://vast-pension.biz/"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://glorious-marten.biz/"} + resolveQueueItem: + speakeasy-default-resolve-queue-item: + parameters: + path: + id: "" + itemId: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"success": true, "resolvedAt": ""} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://heartfelt-orchid.net/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://rotating-heartbeat.net"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://discrete-maintainer.org/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://powerful-wombat.org"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://precious-napkin.biz"} + unresolveQueueItem: + speakeasy-default-unresolve-queue-item: + parameters: + path: + id: "" + itemId: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"success": false, "status": "", "unresolvedAt": ""} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://passionate-partridge.net"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://velvety-pocket-watch.info/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://jaunty-mantua.name/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://shameless-cleaner.biz/"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://vivacious-edge.net/"} + listActions: + speakeasy-default-list-actions: + parameters: + query: + page: 1 + pageSize: 20 + responses: + "200": + application/json: {"data": [{"id": "", "createdAt": "1725087768413", "name": "", "builtIn": false, "queueBehaviour": "NO_CHANGE", "filterInQueueIds": ["", "", ""], "position": "ALL_QUEUES", "possibleValues": [], "valueRequired": false, "freeText": false}], "pagination": {"page": 985516, "pageSize": 779890, "total": 313182, "totalPages": 263422, "hasMore": false}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://alive-dividend.org"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://energetic-coliseum.info"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://that-awareness.info/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://big-blowgun.com/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://glaring-t-shirt.org"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://sure-footed-valuable.com"} + createAction: + speakeasy-default-create-action: + requestBody: + application/json: {"name": "", "builtIn": false, "queueBehaviour": "NO_CHANGE", "position": "ALL_QUEUES", "valueRequired": false, "freeText": false} + responses: + "200": + application/json: {"id": "", "createdAt": "1720941674984", "name": "", "builtIn": false, "queueBehaviour": "NO_CHANGE", "filterInQueueIds": [], "position": "ALL_QUEUES", "possibleValues": [], "valueRequired": false, "freeText": false} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://tense-piglet.biz"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://ornate-earth.com/"} + "409": + application/json: {"type": "conflict_error", "code": "resource_conflict", "message": "Action with this key already exists", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://electric-injunction.info/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://far-premeditation.com/"} + getAction: + speakeasy-default-get-action: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "", "createdAt": "1718494238717", "name": "", "builtIn": false, "queueBehaviour": "NO_CHANGE", "filterInQueueIds": ["", ""], "position": "ALL_QUEUES", "possibleValues": [{"value": ""}], "valueRequired": false, "freeText": false} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://homely-bowler.net"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://bony-disappointment.org"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://reckless-disposer.biz"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://political-subsidy.name/"} + updateAction: + speakeasy-default-update-action: + parameters: + path: + id: "" + requestBody: + application/json: {"builtIn": false, "queueBehaviour": "NO_CHANGE", "position": "ALL_QUEUES", "valueRequired": false, "freeText": false} + responses: + "200": + application/json: {"id": "", "createdAt": "1714762506766", "name": "", "builtIn": false, "queueBehaviour": "NO_CHANGE", "filterInQueueIds": [], "position": "ALL_QUEUES", "possibleValues": [], "valueRequired": false, "freeText": false} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://second-hand-pigsty.biz/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://accurate-morbidity.biz"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://useless-leading.biz"} + "409": + application/json: {"type": "conflict_error", "code": "resource_conflict", "message": "Action with this key already exists", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://advanced-bog.biz/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://needy-longboat.org"} + deleteAction: + speakeasy-default-delete-action: + parameters: + path: + id: "" + responses: + "200": + application/json: {"deleted": false, "id": ""} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://parallel-whack.net"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://advanced-barge.net/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://raw-offset.info"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://filthy-acquaintance.com"} + executeAction: + speakeasy-default-execute-action: + requestBody: + application/json: {"actionKey": ""} + responses: + "200": + application/json: {"success": false} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://near-bog.org"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://harmful-atrium.biz/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://upright-slime.info/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://practical-slipper.net/"} + listWebhooks: + speakeasy-default-list-webhooks: + parameters: + query: + page: 1 + pageSize: 20 + responses: + "200": + application/json: {"data": [], "pagination": {"page": 110833, "pageSize": 63381, "total": 164724, "totalPages": 881973, "hasMore": false}} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://grubby-tabletop.info"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://circular-legend.biz"} + createWebhook: + speakeasy-default-create-webhook: + requestBody: + application/json: {"name": "", "url": "https://experienced-sailor.biz/", "eventTypes": ["QUEUE_ITEM_ACTION"]} + responses: + "200": + application/json: {"id": "", "name": "", "url": "https://experienced-seagull.name/", "eventTypes": ["AUTHOR_UPDATED"], "payloadVersion": "V2", "createdAt": "1722763687109"} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://burly-permafrost.name"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://flickering-bonnet.name"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://exhausted-swordfish.net/"} + getWebhook: + speakeasy-default-get-webhook: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "", "name": "", "url": "https://unknown-tray.net", "eventTypes": [], "payloadVersion": "V2", "createdAt": "1705930134329"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://low-doorpost.net/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://avaricious-overcoat.net/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://same-translation.net/"} + updateWebhook: + speakeasy-default-update-webhook: + parameters: + path: + id: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"id": "", "name": "", "url": "https://nimble-affect.name", "eventTypes": [], "payloadVersion": "V1", "createdAt": "1713502971647"} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://better-guacamole.biz/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://impeccable-story.info/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://brown-developmental.info"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://gigantic-jump.biz"} + deleteWebhook: + speakeasy-default-delete-webhook: + parameters: + path: + id: "" + responses: + "200": + application/json: {"deleted": true, "id": ""} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://familiar-scratch.org"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://timely-sweatshop.info/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://hospitable-sundae.com/"} + getWebhookSecret: + speakeasy-default-get-webhook-secret: + responses: + "200": + application/json: {"secret": ""} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://worse-palate.net/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://clean-spring.info"} + getAccount: + speakeasy-default-get-account: + responses: + "200": + application/json: {"id": "", "paid_plan_name": "", "text_api_quota": 1657.23, "remaining_quota": 9607.83} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://enchanted-permafrost.info"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://wasteful-digestive.net"} + listWordlists: + speakeasy-default-list-wordlists: + parameters: + query: + page: 1 + pageSize: 20 + responses: + "200": + application/json: {"data": [{"id": "", "name": "", "description": "unwilling urgently mantua obediently hoarse into provided vet serenade down", "createdAt": "1705747111828", "userId": ""}], "pagination": {"page": 544370, "pageSize": 720052, "total": 588579, "totalPages": 529938, "hasMore": true}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://meaty-chapel.name"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://other-outrun.net"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://wise-mythology.org"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://honorable-vein.com"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://curly-gray.info"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://merry-pile.com/"} + getWordlist: + speakeasy-default-get-wordlist: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "", "name": "", "words": [], "createdAt": "1708371957170", "organizationId": "", "userId": "", "strict": false} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://posh-harp.info"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://drab-pleasure.biz"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://acidic-hygienic.biz"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://next-blossom.net"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://livid-fuel.name"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://jagged-coordination.com"} + updateWordlist: + speakeasy-default-update-wordlist: + parameters: + path: + id: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"id": "", "name": "", "words": [""], "createdAt": "1723114860829", "organizationId": "", "userId": "", "strict": false} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://triangular-republican.info"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://lanky-editor.info"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://surprised-gripper.net/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://crooked-milestone.biz"} + getWordlistEmbeddingStatus: + speakeasy-default-get-wordlist-embedding-status: + parameters: + path: + id: "" + responses: + "200": + application/json: {"progress": 1381.39, "totalWords": 7094.28, "remainingWords": 9583.15} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://quixotic-requirement.name"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://nimble-thread.org"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://responsible-awareness.com/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://worst-hutch.info/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://agreeable-independence.name/"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://impolite-sediment.name"} + addWordlistWords: + speakeasy-default-add-wordlist-words: + parameters: + path: + id: "" + requestBody: + application/json: {"words": []} + responses: + "200": + application/json: {"addedCount": 7700.73, "totalCount": 8887.39, "addedWords": []} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://noxious-fledgling.info/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://tempting-diversity.biz/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://dismal-castanet.org/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://serene-skean.com"} + removeWordlistWords: + speakeasy-default-remove-wordlist-words: + parameters: + path: + id: "" + query: + words: ["", "", ""] + responses: + "200": + application/json: {"removedCount": 6472.46, "totalCount": 1784.41, "removedWords": [""]} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://coarse-flight.com/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://unfortunate-toothbrush.com/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://key-expense.com"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://sophisticated-slime.name"} + submitContent: + speakeasy-default-submit-content: + requestBody: + application/json: {"content": {"type": "image"}} + responses: + "200": + application/json: {"content": {"id": "", "masked": true, "unicode_cleaned": true, "modified": {"key": "", "key1": ""}}, "author": {"id": "", "block": {}, "status": "blocked", "trust_level": {"level": 8664.71, "manual": false}}, "evaluation": {"flagged": false, "flag_probability": 8008.81, "severity_score": 348.65}, "recommendation": {"action": "allow", "reason_codes": ["rule_match"]}, "casebook": {"verdict": "reject", "similarity": 2676.55, "agreement": 7706.56, "confidence": 9365.91, "case_count": 6691.67, "topic": {"id": "", "label": ""}}, "policies": [], "insights": [], "meta": {"status": "partial_success", "timestamp": 5209.71, "channel_key": "", "usage": 2898.59}} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://sparse-collaboration.name"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://second-hand-devastation.name/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://white-atrium.info"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://worthless-solvency.info/"} + "500": + application/json: {"type": "api_error", "code": "internal_error", "message": "Internal server error", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://enchanted-amnesty.name/"} + listProjects: + speakeasy-default-list-projects: + parameters: + query: + page: 1 + pageSize: 20 + responses: + "200": + application/json: {"data": [{"id": "", "name": "", "description": "scarily however out solidly reproach", "domain": "wasteful-lounge.com", "context": "", "globalFlaggingMode": "ACTIVE", "enableRequestLogging": false, "casebookEnabled": false, "createdAt": "1719550777772", "updatedAt": "1735687514389"}], "pagination": {"page": 468054, "pageSize": 647138, "total": 740816, "totalPages": 925291, "hasMore": false}} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://deadly-barracks.info/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://accurate-surface.com"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://zany-archaeology.com"} + createProject: + speakeasy-default-create-project: + requestBody: + application/json: {"name": "", "usedByMinors": false} + responses: + "200": + application/json: {"id": "", "name": "", "description": "accidentally per justly inconsequential amidst", "domain": "impeccable-lashes.net", "context": "", "globalFlaggingMode": "ACTIVE", "enableRequestLogging": false, "casebookEnabled": false, "createdAt": "1722120233197", "updatedAt": "1735673297432", "secretKey": ""} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://elastic-typeface.name"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://fake-suspension.info/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://lazy-marketplace.org/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://difficult-mentor.name"} + getProject: + speakeasy-default-get-project: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "", "name": "", "description": "for loyally prance dutiful decriminalize noted", "domain": "well-worn-e-mail.net", "context": "", "globalFlaggingMode": "ACTIVE", "enableRequestLogging": false, "casebookEnabled": true, "createdAt": "1733283153583", "updatedAt": "1735660743971"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://drab-stitcher.biz"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://unsightly-cricket.net/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://linear-ocelot.com/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://sour-avalanche.org"} + updateProject: + speakeasy-default-update-project: + parameters: + path: + id: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"id": "", "name": "", "description": null, "domain": "wiggly-gown.info", "context": "", "globalFlaggingMode": "DRY_RUN", "enableRequestLogging": false, "casebookEnabled": false, "createdAt": "1723019639943", "updatedAt": "1735642941794"} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://enchanting-behest.name"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://scary-strategy.com"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://intelligent-adrenalin.org"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://informal-loyalty.biz/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://paltry-marketplace.com/"} + deleteProject: + speakeasy-default-delete-project: + parameters: + path: + id: "" + responses: + "200": + application/json: {"deleted": true, "id": ""} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://brown-lawmaker.com/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://specific-swing.net/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://genuine-shoulder.name/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://rewarding-quit.biz/"} + duplicateProject: + speakeasy-default-duplicate-project: + parameters: + path: + id: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"id": "", "name": "", "description": "messy volunteer quash cluttered", "domain": "unkempt-bowling.name", "context": "", "globalFlaggingMode": "DRY_RUN", "enableRequestLogging": true, "casebookEnabled": false, "createdAt": "1720065871635", "updatedAt": "1735618179596", "secretKey": ""} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://wicked-brochure.net"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://rowdy-humor.net"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://winged-developing.org/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://lazy-fund.org/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://sentimental-thread.info"} + listChannels: + speakeasy-default-list-channels: + parameters: + path: + projectId: "" + query: + page: 1 + pageSize: 20 + responses: + "200": + application/json: {"data": [{"id": "", "projectId": "", "key": "", "name": "", "description": "within greedily why primary ceramics that pricey trash", "isDefault": false, "contentType": "post", "flaggingMode": "ACTIVE", "contextEnabled": true, "enableImageModeration": false, "enableVideoModeration": false, "enableAudioModeration": true, "enableVoiceModeration": true, "includeTranscriptInResponse": true, "transcriptionQuality": "SPEED", "unicodeSpoofDetectionEnabled": true, "frameCaptureInterval": 9833.48, "maxFramesPerVideo": 441460, "spreadFrames": false, "createdAt": "1725717609091", "updatedAt": "1735644620528"}], "pagination": {"page": 16950, "pageSize": 792684, "total": 944522, "totalPages": 636345, "hasMore": false}} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://authentic-dress.name/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://understated-produce.net"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://cruel-vein.info"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://primary-completion.biz/"} + createChannel: + speakeasy-default-create-channel: + parameters: + path: + projectId: "" + requestBody: + application/json: {"name": ""} + responses: + "200": + application/json: {"id": "", "projectId": "", "key": "", "name": "", "description": "regular ouch unlike slow fondly finally meanwhile though toaster", "isDefault": false, "contentType": "voice", "flaggingMode": "ACTIVE", "contextEnabled": false, "enableImageModeration": false, "enableVideoModeration": true, "enableAudioModeration": false, "enableVoiceModeration": true, "includeTranscriptInResponse": true, "transcriptionQuality": "BALANCED", "unicodeSpoofDetectionEnabled": true, "frameCaptureInterval": 9068.96, "maxFramesPerVideo": 217785, "spreadFrames": true, "createdAt": "1709542405374", "updatedAt": "1735665242908"} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://experienced-jazz.name/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://witty-goodwill.net"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://deep-lifestyle.name"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://ill-airbus.biz"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://bad-mathematics.biz/"} + getChannel: + speakeasy-default-get-channel: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "", "projectId": "", "key": "", "name": "", "description": null, "isDefault": true, "contentType": "event", "flaggingMode": "DRY_RUN", "contextEnabled": false, "enableImageModeration": false, "enableVideoModeration": false, "enableAudioModeration": false, "enableVoiceModeration": true, "includeTranscriptInResponse": true, "transcriptionQuality": "SPEED", "unicodeSpoofDetectionEnabled": false, "frameCaptureInterval": 9732.58, "maxFramesPerVideo": 449675, "spreadFrames": false, "createdAt": "1709021755362", "updatedAt": "1735658089359"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://orderly-lace.com"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://crushing-avalanche.biz/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://silky-redesign.name/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://super-crocodile.org/"} + updateChannel: + speakeasy-default-update-channel: + parameters: + path: + id: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"id": "", "projectId": "", "key": "", "name": "", "description": "utterly taxicab rebuild amid common searchingly", "isDefault": false, "contentType": "comment", "flaggingMode": "ACTIVE", "contextEnabled": false, "enableImageModeration": true, "enableVideoModeration": false, "enableAudioModeration": true, "enableVoiceModeration": false, "includeTranscriptInResponse": true, "transcriptionQuality": "SPEED", "unicodeSpoofDetectionEnabled": false, "frameCaptureInterval": 242.32, "maxFramesPerVideo": 79933, "spreadFrames": false, "createdAt": "1714165181265", "updatedAt": "1735635444170"} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://jam-packed-midwife.net"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://enchanted-executor.name/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://tinted-seagull.biz"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://bouncy-sanity.org"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://glaring-procurement.name/"} + deleteChannel: + speakeasy-default-delete-channel: + parameters: + path: + id: "" + responses: + "200": + application/json: {"deleted": true, "id": ""} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://wise-accountability.info/"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://brilliant-makeover.name"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://specific-vibration.info"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://wasteful-suv.com/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://impeccable-injunction.net"} + duplicateChannel: + speakeasy-default-duplicate-channel: + parameters: + path: + id: "" + requestBody: + application/json: {} + responses: + "200": + application/json: {"id": "", "projectId": "", "key": "", "name": "", "description": null, "isDefault": true, "contentType": "event", "flaggingMode": "DRY_RUN", "contextEnabled": false, "enableImageModeration": true, "enableVideoModeration": true, "enableAudioModeration": true, "enableVoiceModeration": false, "includeTranscriptInResponse": true, "transcriptionQuality": "BALANCED", "unicodeSpoofDetectionEnabled": false, "frameCaptureInterval": 3446.41, "maxFramesPerVideo": 287196, "spreadFrames": false, "createdAt": "1727448237026", "updatedAt": "1735634690271"} + "400": + application/json: {"type": "invalid_request_error", "code": "invalid_request", "message": "Invalid input data", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://educated-unblinking.name"} + "401": + application/json: {"type": "authentication_error", "code": "unauthorized", "message": "Authorization not provided", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://uniform-statue.biz/"} + "403": + application/json: {"type": "permission_error", "code": "permission_denied", "message": "Insufficient access", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://dependent-nudge.biz/"} + "404": + application/json: {"type": "not_found_error", "code": "resource_not_found", "message": "Not found", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://insecure-premium.com/"} + "429": + application/json: {"type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded", "request_id": "h8fkz6kkzoa446ffve37atys", "doc_url": "https://upset-hydrant.info/"} +examplesVersion: 1.0.2 diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml new file mode 100644 index 0000000..fd58293 --- /dev/null +++ b/.speakeasy/gen.yaml @@ -0,0 +1,63 @@ +configVersion: 2.0.0 +generation: + sdkClassName: ModerationApi + maintainOpenAPIOrder: true + usageSnippets: + optionalPropertyRendering: withExample + sdkInitStyle: constructor + useClassNamesForArrayFields: true + fixes: + nameResolutionDec2023: true + nameResolutionFeb2025: true + parameterOrderingFeb2024: true + requestResponseComponentNamesFeb2024: true + securityFeb2025: true + sharedErrorComponentsApr2025: true + sharedNestedComponentsJan2026: true + nameOverrideFeb2026: true + openSingleValueEnumsOct2026: true + auth: + oAuth2ClientCredentialsEnabled: false + oAuth2PasswordEnabled: false + hoistGlobalSecurity: true + inferSSEOverload: true + sdkHooksConfigAccess: true + schemas: + allOfMergeStrategy: shallowMerge + requestBodyFieldName: body + versioningStrategy: automatic + persistentEdits: {} + tests: + generateTests: false + generateNewTests: true + skipResponseBodyAssertions: false +php: + version: 1.0.0 + additionalDependencies: + autoload: {} + autoload-dev: {} + require: {} + require-dev: {} + baseErrorName: ModerationAPIException + clientServerStatusCodesAsErrors: true + defaultErrorName: APIException + flattenGlobalSecurity: true + imports: + option: openapi + paths: + callbacks: Models/Callbacks + errors: Models/Errors + operations: Models/Operations + shared: Models/Components + webhooks: Models/Webhooks + inferUnionDiscriminators: true + inputModelSuffix: input + laravelServiceProvider: + enabled: false + svcName: openapi + maxMethodParams: 4 + methodArguments: infer-optional-args + multipartArrayFormat: standard + namespace: ModerationApi + outputModelSuffix: output + packageName: moderation-api/sdk-php diff --git a/.stats.yml b/.stats.yml deleted file mode 100644 index ac64174..0000000 --- a/.stats.yml +++ /dev/null @@ -1,4 +0,0 @@ -configured_endpoints: 34 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api/moderation-api-a4c5163e3271601b36a74223b756d304ce8246f832f8c531d53cdd30f9ee4c68.yml -openapi_spec_hash: fd9fe8a54c1c46032bd5fccb995f04b8 -config_hash: 6e090a71f4d354167d93b4534a0e7f05 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d585717 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# Contributing to This Repository + +Thank you for your interest in contributing to this repository. Please note that this repository contains generated code. As such, we do not accept direct changes or pull requests. Instead, we encourage you to follow the guidelines below to report issues and suggest improvements. + +## How to Report Issues + +If you encounter any bugs or have suggestions for improvements, please open an issue on GitHub. When reporting an issue, please provide as much detail as possible to help us reproduce the problem. This includes: + +- A clear and descriptive title +- Steps to reproduce the issue +- Expected and actual behavior +- Any relevant logs, screenshots, or error messages +- Information about your environment (e.g., operating system, software versions) + - For example can be collected using the `npx envinfo` command from your terminal if you have Node.js installed + +## Issue Triage and Upstream Fixes + +We will review and triage issues as quickly as possible. Our goal is to address bugs and incorporate improvements in the upstream source code. Fixes will be included in the next generation of the generated code. + +## Contact + +If you have any questions or need further assistance, please feel free to reach out by opening an issue. + +Thank you for your understanding and cooperation! + +The Maintainers diff --git a/README.md b/README.md index 42978e5..25fdb9a 100644 --- a/README.md +++ b/README.md @@ -1,165 +1,561 @@ -# Moderation API PHP library - -The Moderation API PHP library provides convenient access to the Moderation API REST API from any PHP 8.1.0+ application. + +# Moderation API PHP SDK + +[![Packagist](https://img.shields.io/packagist/v/moderation-api/sdk-php.svg)](https://packagist.org/packages/moderation-api/sdk-php) + +The official PHP library for [Moderation API](https://moderationapi.com). Use it to moderate text, images, video and audio, manage authors, review queues, actions and wordlists, and verify webhooks. + +- Get an API key in the [dashboard](https://dash.moderationapi.com). +- Read the [documentation](https://docs.moderationapi.com) and the [API reference](https://docs.moderationapi.com/api-reference/introduction). + + + +## Summary + +Moderation API: Moderate text, images, video and audio in real time, manage authors, review queues and actions, and receive webhooks. + +More information about the API can be found at https://docs.moderationapi.com + + + +## Table of Contents + +* [Moderation API PHP SDK](#moderation-api-php-sdk) + * [SDK Installation](#sdk-installation) + * [SDK Example Usage](#sdk-example-usage) + * [Moderating content](#moderating-content) + * [Verifying webhooks](#verifying-webhooks) + * [Authentication](#authentication) + * [Available Resources and Operations](#available-resources-and-operations) + * [Pagination](#pagination) + * [Error Handling](#error-handling) + * [Server Selection](#server-selection) + * [Timeouts](#timeouts) + * [Requirements](#requirements) + * [Support](#support) +* [Development](#development) + * [Maturity](#maturity) + * [Contributions](#contributions) + + + + +## SDK Installation + +The SDK relies on [Composer](https://getcomposer.org/) to manage its dependencies. + +To install the SDK and add it as a dependency to an existing `composer.json` file: +```bash +composer require "moderation-api/sdk-php" +``` + -## Documentation + +## SDK Example Usage -The REST API documentation can be found on [docs.moderationapi.com](https://docs.moderationapi.com). +### Example -## Installation +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\SubmitContentRequest( + content: new Operations\TextRequest( + text: 'Hey, check out my profile for a deal!', + ), + contentId: 'message-48213', + authorId: 'user-1092', + conversationId: 'room-general', + metadata: [ + 'platform' => 'ios', + ], +); - +$response = $sdk->content->submit( + request: $request +); +if ($response->object !== null) { + // handle response +} ``` -composer require "moderation-api/sdk-php 0.41.0" -``` + + +## Moderating content - +Use `content->submit` to moderate text, images, video, audio, or objects with several fields. All parameters except `content` are optional. -## Usage - -This library uses named parameters to specify optional arguments. -Parameters with a default value must be set by name. +Pass your API key to `setSecurity`. The examples read it from the `MODAPI_SECRET_KEY` environment variable. ```php -setSecurity(getenv('MODAPI_SECRET_KEY')) + ->build(); + +// Text +$sdk->content->submit(new Operations\SubmitContentRequest( + content: new Operations\TextRequest(text: 'Your text here'), + contentId: 'message-123', // your ID for the content + authorId: 'user-123', // your ID for the user who wrote it + conversationId: 'room-123', // groups related content + metadata: ['platform' => 'ios'], +)); + +// Image, video and audio: send a URL +$sdk->content->submit(new Operations\SubmitContentRequest( + content: new Operations\ImageRequest(url: 'https://example.com/image.jpg'), +)); +$sdk->content->submit(new Operations\SubmitContentRequest( + content: new Operations\VideoRequest(url: 'https://example.com/video.mp4'), +)); +$sdk->content->submit(new Operations\SubmitContentRequest( + content: new Operations\AudioRequest(url: 'https://example.com/audio.mp3'), +)); + +// An object with several fields, moderated together +$sdk->content->submit(new Operations\SubmitContentRequest( + content: new Operations\ObjectT(data: [ + 'title' => new Operations\DataText(text: 'Post title'), + 'body' => new Operations\DataText(text: 'Post content'), + 'thumbnail' => new Operations\DataImage(url: 'https://example.com/thumb.jpg'), + ]), +)); +``` -use ModerationAPI\Client; +### Using the result -$client = new Client(secretKey: getenv('MODAPI_SECRET_KEY') ?: 'My Secret Key'); +`evaluation->flagged` tells you if any policy flagged the content. `recommendation->action` is the action the API recommends after it applies your thresholds and rules: `allow`, `review` or `reject`. -$response = $client->content->submit( - content: ['text' => 'text', 'type' => 'text'] -); +```php +$response = $sdk->content->submit(new Operations\SubmitContentRequest( + content: new Operations\TextRequest(text: 'Some content'), +)); +$result = $response->object; + +if ($result->evaluation->flagged) { + echo "A policy flagged the content\n"; +} -var_dump($response->recommendation); +switch ($result->recommendation->action) { + case Operations\SubmitContentRecommendationAction::Reject: + // Block the content + break; + case Operations\SubmitContentRecommendationAction::Review: + // Publish or hold it, and send it to a review queue + break; + case Operations\SubmitContentRecommendationAction::Allow: + // Publish the content + break; +} + +foreach ($result->policies as $policy) { + echo "{$policy->id}: flagged=" . var_export($policy->flagged, true) . "\n"; +} ``` -### Value Objects +## Verifying webhooks -It is recommended to use the static `with` constructor `Dog::with(name: "Joey")` -and named parameters to initialize value objects. +Moderation API signs every webhook delivery with your project's webhook signing secret. The signature is in the `modapi-signature` header. -However, builders are also provided `(new Dog)->withName("Joey")`. +### Webhook signing secret -### Handling errors +Find the secret on the [API keys page in the dashboard](https://dash.moderationapi.com/project/latest/configure/api-keys), or get it with `$sdk->webhookSecret->retrieve()`. Store it in the `MODAPI_WEBHOOK_SECRET` environment variable. It is not your API key. Get it once, for example in a setup script, and do not call `retrieve` for each delivery, so verification does not depend on a call to the API. Keep it as secret as your API key: anyone with it can sign webhooks. -When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of `ModerationAPI\Core\Exceptions\APIException` will be thrown: +### Verify a delivery + +`WebhookSignature::constructEvent` checks the signature against the raw body and returns the event as an array. It reads the secret from `MODAPI_WEBHOOK_SECRET`; to set it in code, pass it as the third argument. It throws `WebhookSignatureException` if the signature does not match. ```php -content->submit( - content: ['text' => 'text', 'type' => 'text'] - ); -} catch (APIConnectionException $e) { - echo "The server could not be reached", PHP_EOL; - var_dump($e->getPrevious()); -} catch (RateLimitException $e) { - echo "A 429 status code was received; we should back off a bit.", PHP_EOL; -} catch (APIStatusException $e) { - echo "Another non-200-range status code was received", PHP_EOL; - echo $e->getMessage(); + $event = WebhookSignature::constructEvent($payload, $signature); +} catch (WebhookSignatureException $e) { + http_response_code(400); + exit; } -``` -Error codes are as follows: +error_log($event['type']); +http_response_code(200); +``` + -| Cause | Error Type | -| ---------------- | ------------------------------ | -| HTTP 400 | `BadRequestException` | -| HTTP 401 | `AuthenticationException` | -| HTTP 403 | `PermissionDeniedException` | -| HTTP 404 | `NotFoundException` | -| HTTP 409 | `ConflictException` | -| HTTP 422 | `UnprocessableEntityException` | -| HTTP 429 | `RateLimitException` | -| HTTP >= 500 | `InternalServerException` | -| Other HTTP error | `APIStatusException` | -| Timeout | `APITimeoutException` | -| Network error | `APIConnectionException` | -### Retries + +## Authentication -Certain errors will be automatically retried 2 times by default, with a short exponential backoff. +### Per-Client Security Schemes -Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict, 429 Rate Limit, >=500 Internal errors, and timeouts will all be retried by default. +This SDK supports the following security scheme globally: -You can use the `maxRetries` option to configure or disable this: +| Name | Type | Scheme | +| ----------- | ---- | ----------- | +| `secretKey` | http | HTTP Bearer | +To authenticate with the API the `secretKey` parameter must be set when initializing the SDK. For example: ```php - 0]); +use ModerationApi; +use ModerationApi\Models\Operations; -// Or, configure per-request: -$result = $client->content->submit( - content: ['text' => 'text', 'type' => 'text'], - requestOptions: ['maxRetries' => 5], +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\ListAuthorsRequest(); + +$responses = $sdk->authors->list( + request: $request ); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} ``` + + +### Project and organization keys + +Moderation API has two kinds of API keys: + +- A **project key** works with one project: content, authors, review queues, actions, wordlists, webhooks and the account. Most integrations need only this key. +- An **organization key** works with the [management API](https://docs.moderationapi.com/api-reference/management-api): projects and channels. The management API is available on Enterprise plans. + +Each key works only with its own endpoints. With the wrong key the API returns `403` with the code `project_key_required` or `organization_key_required`. If you use both, create one client for each key: + +```php +use ModerationApi\ModerationApi; + +// Project key +$sdk = ModerationApi::builder() + ->setSecurity(getenv('MODAPI_SECRET_KEY')) + ->build(); + +// Organization key +$management = ModerationApi::builder() + ->setSecurity(getenv('MODAPI_ORGANIZATION_KEY')) + ->build(); + +foreach ($management->projects->list() as $response) { + foreach ($response->object->data as $project) { + echo $project->id, ' ', $project->name, "\n"; + } +} +``` + +Create the organization client only where you manage projects and channels, for example in a setup script, and keep the organization key out of the code that moderates content. + + + + +## Available Resources and Operations + +
+Available methods + +### [Account](docs/sdks/account/README.md) + +* [retrieve](docs/sdks/account/README.md#retrieve) - Get account details + +### [Actions](docs/sdks/actions/README.md) + +* [list](docs/sdks/actions/README.md#list) - List moderation actions +* [create](docs/sdks/actions/README.md#create) - Create an action +* [retrieve](docs/sdks/actions/README.md#retrieve) - Get an action +* [update](docs/sdks/actions/README.md#update) - Update an action +* [delete](docs/sdks/actions/README.md#delete) - Delete an action +* [execute](docs/sdks/actions/README.md#execute) - Execute moderation action + +### [Authors](docs/sdks/authors/README.md) + +* [list](docs/sdks/authors/README.md#list) - List authors +* [create](docs/sdks/authors/README.md#create) - Create a new author +* [retrieve](docs/sdks/authors/README.md#retrieve) - Get author details +* [update](docs/sdks/authors/README.md#update) - Update author details +* [delete](docs/sdks/authors/README.md#delete) - Delete an author + +### [Channels](docs/sdks/channels/README.md) + +* [list](docs/sdks/channels/README.md#list) - List channels +* [create](docs/sdks/channels/README.md#create) - Create a channel +* [retrieve](docs/sdks/channels/README.md#retrieve) - Get a channel +* [update](docs/sdks/channels/README.md#update) - Update a channel +* [delete](docs/sdks/channels/README.md#delete) - Delete a channel +* [duplicate](docs/sdks/channels/README.md#duplicate) - Duplicate a channel + +### [Content](docs/sdks/content/README.md) + +* [submit](docs/sdks/content/README.md#submit) + +### [Projects](docs/sdks/projects/README.md) + +* [list](docs/sdks/projects/README.md#list) - List projects +* [create](docs/sdks/projects/README.md#create) - Create a project +* [retrieve](docs/sdks/projects/README.md#retrieve) - Get a project +* [update](docs/sdks/projects/README.md#update) - Update a project +* [delete](docs/sdks/projects/README.md#delete) - Delete a project +* [duplicate](docs/sdks/projects/README.md#duplicate) - Duplicate a project + +### [Queue](docs/sdks/queue/README.md) + +* [retrieve](docs/sdks/queue/README.md#retrieve) - Get a queue +* [getStats](docs/sdks/queue/README.md#getstats) - Get queue statistics -## Advanced concepts +#### [Queue.Items](docs/sdks/items/README.md) -### Making custom or undocumented requests +* [list](docs/sdks/items/README.md#list) - Get queue items +* [resolve](docs/sdks/items/README.md#resolve) - Resolve a queue item +* [unresolve](docs/sdks/items/README.md#unresolve) - Unresolve a queue item -#### Undocumented properties +### [Webhooks](docs/sdks/webhooks/README.md) -You can send undocumented parameters to any endpoint, and read undocumented response properties, like so: +* [list](docs/sdks/webhooks/README.md#list) - List webhooks +* [create](docs/sdks/webhooks/README.md#create) - Create a webhook +* [retrieve](docs/sdks/webhooks/README.md#retrieve) - Get a webhook +* [update](docs/sdks/webhooks/README.md#update) - Update a webhook +* [delete](docs/sdks/webhooks/README.md#delete) - Delete a webhook -Note: the `extra*` parameters of the same name overrides the documented parameters. +### [WebhookSecret](docs/sdks/webhooksecret/README.md) +* [retrieve](docs/sdks/webhooksecret/README.md#retrieve) - Get the webhook signing secret + +### [Wordlist](docs/sdks/wordlist/README.md) + +* [list](docs/sdks/wordlist/README.md#list) - List wordlists +* [retrieve](docs/sdks/wordlist/README.md#retrieve) - Get wordlist +* [update](docs/sdks/wordlist/README.md#update) - Update wordlist +* [getEmbeddingStatus](docs/sdks/wordlist/README.md#getembeddingstatus) - Get embedding status + +#### [Wordlist.Words](docs/sdks/words/README.md) + +* [add](docs/sdks/words/README.md#add) - Add words to wordlist +* [remove](docs/sdks/words/README.md#remove) - Remove words from wordlist + +
+ + + +## Pagination + +Some of the endpoints in this SDK support pagination. To use pagination, you make your SDK calls as usual, but the +returned object will be a `Generator` instead of an individual response. + +Working with generators is as simple as iterating over the responses in a `foreach` loop, and you can see an example below: ```php -content->submit( - content: ['text' => 'text', 'type' => 'text'], - requestOptions: [ - 'extraQueryParams' => ['my_query_parameter' => 'value'], - 'extraBodyParams' => ['my_body_parameter' => 'value'], - 'extraHeaders' => ['my-header' => 'value'], - ], +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\ListAuthorsRequest(); + +$responses = $sdk->authors->list( + request: $request ); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} ``` + + + +## Error Handling + +Handling errors in this SDK should largely match your expectations. All operations return a response object or throw an exception. + +By default an API error will raise a `Errors\APIException` exception, which has the following properties: -#### Undocumented request params +| Property | Type | Description | +|----------------|-----------------------------------------|-----------------------| +| `$message` | *string* | The error message | +| `$statusCode` | *int* | The HTTP status code | +| `$rawResponse` | *?\Psr\Http\Message\ResponseInterface* | The raw HTTP response | +| `$body` | *string* | The response content | -If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a request, as seen in the examples above. +When custom error responses are specified for an operation, the SDK may also throw their associated exception. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `list` method throws the following exceptions: -#### Undocumented endpoints +| Error Type | Status Code | Content Type | +| ---------------------------- | ----------- | ---------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | -To make requests to undocumented endpoints while retaining the benefit of auth, retries, and so on, you can make requests using `client.request`, like so: +### Example ```php -request( - method: "post", - path: '/undocumented/endpoint', - query: ['dog' => 'woof'], - headers: ['useful-header' => 'interesting-value'], - body: ['hello' => 'world'] +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Errors; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +try { + $request = new Operations\ListAuthorsRequest(); + + $responses = $sdk->authors->list( + request: $request + ); + + foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } + } +} catch (Errors\BadRequestErrorThrowable $e) { + // handle $e->$container data + throw $e; +} catch (Errors\AuthenticationErrorThrowable $e) { + // handle $e->$container data + throw $e; +} catch (Errors\PermissionDeniedErrorThrowable $e) { + // handle $e->$container data + throw $e; +} catch (Errors\NotFoundErrorThrowable $e) { + // handle $e->$container data + throw $e; +} catch (Errors\RateLimitErrorThrowable $e) { + // handle $e->$container data + throw $e; +} catch (Errors\InternalServerErrorThrowable $e) { + // handle $e->$container data + throw $e; +} catch (Errors\APIException $e) { + // handle default exception + throw $e; +} +``` + + + +## Server Selection + +### Override Server URL Per-Client + +The default server can be overridden globally using the `setServerUrl(string $serverUrl)` builder method when initializing the SDK client instance. For example: +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setServerURL('https://moderationapi.com/api/v1') + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\ListAuthorsRequest(); + +$responses = $sdk->authors->list( + request: $request ); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} ``` + + + -## Versioning + +## Timeouts -This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time. +The SDK sends requests with [Guzzle](https://docs.guzzlephp.org). To set a timeout, give the builder your own client: -This package considers improvements to the (non-runtime) PHPDoc type definitions to be non-breaking changes. +```php +$sdk = ModerationApi::builder() + ->setSecurity(getenv('MODAPI_SECRET_KEY')) + ->setClient(new \GuzzleHttp\Client(['timeout' => 10])) + ->build(); +``` ## Requirements -PHP 8.1.0 or higher. +PHP 8.2 or later. + + +## Support + +- [API reference](https://docs.moderationapi.com/api-reference/introduction) +- [Errors and error codes](https://docs.moderationapi.com/api-reference/errors) +- [Rate limits](https://docs.moderationapi.com/api-reference/rate-limits) +- [Guides](https://docs.moderationapi.com/get-started/introduction) +- Email [support@moderationapi.com](mailto:support@moderationapi.com) + +Found a bug? Open an issue in this repository. This package is generated from the [Moderation API OpenAPI spec](https://api.moderationapi.com/v1/openapi.json), so pull requests to the generated code can't be merged as they are, but we use them to fix the generator. + + +# Development + +## Maturity + +This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage +to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally +looking for the latest version. + +## Contributions -## Contributing +While we value open-source contributions to this SDK, this library is generated programmatically. Any manual changes added to internal files will be overwritten on the next generation. +We look forward to hearing your feedback. Feel free to open a PR or an issue with a proof of concept and we'll do our best to include it in a future release. -See [the contributing documentation](https://github.com/moderation-api/sdk-php/tree/main/CONTRIBUTING.md). +### SDK Created by [Speakeasy](https://www.speakeasy.com/?utm_source=moderation-api/sdk-php&utm_campaign=php) diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 29cf638..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,27 +0,0 @@ -# Security Policy - -## Reporting Security Issues - -This SDK is generated by [Stainless Software Inc](http://stainless.com). Stainless takes security seriously, and encourages you to report any security vulnerability promptly so that appropriate action can be taken. - -To report a security issue, please contact the Stainless team at security@stainless.com. - -## Responsible Disclosure - -We appreciate the efforts of security researchers and individuals who help us maintain the security of -SDKs we generate. If you believe you have found a security vulnerability, please adhere to responsible -disclosure practices by allowing us a reasonable amount of time to investigate and address the issue -before making any information public. - -## Reporting Non-SDK Related Security Issues - -If you encounter security issues that are not directly related to SDKs but pertain to the services -or products provided by Moderation API, please follow the respective company's security reporting guidelines. - -### Moderation API Terms and Policies - -Please contact support@moderationapi.com for any questions or concerns regarding the security of our services. - ---- - -Thank you for helping us keep the SDKs and systems they interact with secure. diff --git a/USAGE.md b/USAGE.md new file mode 100644 index 0000000..02c8ac7 --- /dev/null +++ b/USAGE.md @@ -0,0 +1,36 @@ + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\SubmitContentRequest( + content: new Operations\TextRequest( + text: 'Hey, check out my profile for a deal!', + ), + contentId: 'message-48213', + authorId: 'user-1092', + conversationId: 'room-general', + metadata: [ + 'platform' => 'ios', + ], +); + +$response = $sdk->content->submit( + request: $request +); + +if ($response->object !== null) { + // handle response +} +``` + \ No newline at end of file diff --git a/bin/check-release-environment b/bin/check-release-environment deleted file mode 100644 index cf571b6..0000000 --- a/bin/check-release-environment +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash - -errors=() - -if [ -z "${PACKAGIST_USERNAME}" ]; then - errors+=("The PACKAGIST_USERNAME secret has not been set. Please set it in either this repository's secrets or your organization secrets") -fi - -if [ -z "${PACKAGIST_SAFE_KEY}" ]; then - errors+=("The PACKAGIST_SAFE_KEY secret has not been set. Please set it in either this repository's secrets or your organization secrets") -fi - -lenErrors=${#errors[@]} - -if [[ lenErrors -gt 0 ]]; then - echo -e "Found the following errors in the release environment:\n" - - for error in "${errors[@]}"; do - echo -e "- $error\n" - done - - exit 1 -fi - -echo "The environment is ready to push releases!" diff --git a/composer.json b/composer.json index 3ff1618..6f78959 100644 --- a/composer.json +++ b/composer.json @@ -1,56 +1,45 @@ { - "$schema": "https://getcomposer.org/schema.json", - "license": "Apache-2.0", + "name": "moderation-api/sdk-php", + "type": "library", "autoload": { - "files": [ - "src/Version.php" - ], "psr-4": { - "ModerationAPI\\": "src/" + "ModerationApi\\": "src/" } }, - "autoload-dev": { - "psr-4": { - "Tests\\": "tests/" - } - }, - "config": { - "allow-plugins": { - "pestphp/pest-plugin": true, - "php-http/discovery": false, - "phpstan/extension-installer": true - }, - "platform": { - "php": "8.3" - }, - "preferred-install": "dist", - "sort-packages": true - }, - "description": "Moderation API PHP SDK", - "name": "moderation-api/sdk-php", + "license": "Apache-2.0", "require": { - "php": "^8.1", - "php-http/discovery": "^1", - "psr/http-client": "^1", - "psr/http-client-implementation": "^1", - "psr/http-factory-implementation": "^1", - "psr/http-message": "^1|^2" + "php": ">=8.2", + "galbar/jsonpath": ">=3.0", + "guzzlehttp/guzzle": "^7.15.2", + "speakeasy/serializer": "^4.0.3", + "brick/date-time": ">=0.7.0", + "phpdocumentor/type-resolver": ">=1.8", + "brick/math": ">=0.12.1" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3", - "guzzlehttp/guzzle": "^7", - "nyholm/psr7": "^1", - "pestphp/pest": "^3", - "php-http/mock-client": "^1", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^2", - "phpstan/phpstan-phpunit": "^2", - "phpunit/phpunit": "^11", - "symfony/http-client": "^7" + "laravel/pint": "1.29.0", + "phpstan/phpstan": "2.1.44", + "phpunit/phpunit": "^11.5.50 || ^12.5.8 || >=13.0.0", + "roave/security-advisories": "dev-latest" + }, + "minimum-stability": "stable", + "prefer-stable": true, + "config": { + "optimize-autoloader": true, + "classmap-authoritative": true, + "sort-packages": true, + "process-timeout": 60 }, "scripts": { - "build:docs": "curl --etag-save ./vendor/ag.etags --etag-compare ./vendor/ag.etags --create-dirs --remote-name --output-dir ./vendor/bin --no-progress-meter -- https://github.com/ApiGen/ApiGen/releases/latest/download/apigen.phar && php ./vendor/bin/apigen.phar --output docs -- src", - "lint": "./scripts/lint", - "test": "./scripts/test" + "test": [ + "./vendor/bin/phpunit --testdox --display-warnings --colors=always" + ], + "stan": [ + "./vendor/bin/phpstan analyse --memory-limit=2g --error-format=table" + ] + }, + "script-descriptions": { + "test": "Run PhpUnit test scripts.", + "stan": "Run PhpStan static analysis." } } diff --git a/composer.lock b/composer.lock deleted file mode 100644 index b0e2283..0000000 --- a/composer.lock +++ /dev/null @@ -1,7054 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "bbae64cb4d21c987158bc3723eda4226", - "packages": [ - { - "name": "php-http/discovery", - "version": "1.20.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/discovery.git", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "nyholm/psr7": "<1.0", - "zendframework/zend-diactoros": "*" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "*", - "psr/http-factory-implementation": "*", - "psr/http-message-implementation": "*" - }, - "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "graham-campbell/phpspec-skip-example-extension": "^5.0", - "php-http/httplug": "^1.0 || ^2.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "sebastian/comparator": "^3.0.5 || ^4.0.8", - "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" - }, - "type": "composer-plugin", - "extra": { - "class": "Http\\Discovery\\Composer\\Plugin", - "plugin-optional": true - }, - "autoload": { - "psr-4": { - "Http\\Discovery\\": "src/" - }, - "exclude-from-classmap": [ - "src/Composer/Plugin.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", - "homepage": "http://php-http.org", - "keywords": [ - "adapter", - "client", - "discovery", - "factory", - "http", - "message", - "psr17", - "psr7" - ], - "support": { - "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.20.0" - }, - "time": "2024-10-02T11:20:13+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client" - }, - "time": "2023-09-23T14:17:50+00:00" - }, - { - "name": "psr/http-message", - "version": "2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/2.0" - }, - "time": "2023-04-04T09:54:51+00:00" - } - ], - "packages-dev": [ - { - "name": "brianium/paratest", - "version": "v7.8.5", - "source": { - "type": "git", - "url": "https://github.com/paratestphp/paratest.git", - "reference": "9b324c8fc319cf9728b581c7a90e1c8f6361c5e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/9b324c8fc319cf9728b581c7a90e1c8f6361c5e5", - "reference": "9b324c8fc319cf9728b581c7a90e1c8f6361c5e5", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-simplexml": "*", - "fidry/cpu-core-counter": "^1.3.0", - "jean85/pretty-package-versions": "^2.1.1", - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", - "phpunit/php-code-coverage": "^11.0.12", - "phpunit/php-file-iterator": "^5.1.0", - "phpunit/php-timer": "^7.0.1", - "phpunit/phpunit": "^11.5.46", - "sebastian/environment": "^7.2.1", - "symfony/console": "^6.4.22 || ^7.3.4 || ^8.0.3", - "symfony/process": "^6.4.20 || ^7.3.4 || ^8.0.3" - }, - "require-dev": { - "doctrine/coding-standard": "^12.0.0", - "ext-pcov": "*", - "ext-posix": "*", - "phpstan/phpstan": "^2.1.33", - "phpstan/phpstan-deprecation-rules": "^2.0.3", - "phpstan/phpstan-phpunit": "^2.0.11", - "phpstan/phpstan-strict-rules": "^2.0.7", - "squizlabs/php_codesniffer": "^3.13.5", - "symfony/filesystem": "^6.4.13 || ^7.3.2 || ^8.0.1" - }, - "bin": [ - "bin/paratest", - "bin/paratest_for_phpstorm" - ], - "type": "library", - "autoload": { - "psr-4": { - "ParaTest\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Scaturro", - "email": "scaturrob@gmail.com", - "role": "Developer" - }, - { - "name": "Filippo Tessarotto", - "email": "zoeslam@gmail.com", - "role": "Developer" - } - ], - "description": "Parallel testing for PHP", - "homepage": "https://github.com/paratestphp/paratest", - "keywords": [ - "concurrent", - "parallel", - "phpunit", - "testing" - ], - "support": { - "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.8.5" - }, - "funding": [ - { - "url": "https://github.com/sponsors/Slamdunk", - "type": "github" - }, - { - "url": "https://paypal.me/filippotessarotto", - "type": "paypal" - } - ], - "time": "2026-01-08T08:02:38+00:00" - }, - { - "name": "clue/ndjson-react", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/clue/reactphp-ndjson.git", - "reference": "392dc165fce93b5bb5c637b67e59619223c931b0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0", - "reference": "392dc165fce93b5bb5c637b67e59619223c931b0", - "shasum": "" - }, - "require": { - "php": ">=5.3", - "react/stream": "^1.2" - }, - "require-dev": { - "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", - "react/event-loop": "^1.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Clue\\React\\NDJson\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering" - } - ], - "description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.", - "homepage": "https://github.com/clue/reactphp-ndjson", - "keywords": [ - "NDJSON", - "json", - "jsonlines", - "newline", - "reactphp", - "streaming" - ], - "support": { - "issues": "https://github.com/clue/reactphp-ndjson/issues", - "source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0" - }, - "funding": [ - { - "url": "https://clue.engineering/support", - "type": "custom" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2022-12-23T10:58:28+00:00" - }, - { - "name": "clue/stream-filter", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/clue/stream-filter.git", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "Clue\\StreamFilter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering" - } - ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/stream-filter", - "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" - ], - "support": { - "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.7.0" - }, - "funding": [ - { - "url": "https://clue.engineering/support", - "type": "custom" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2023-12-20T15:40:13+00:00" - }, - { - "name": "composer/pcre", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", - "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<1.11.10" - }, - "require-dev": { - "phpstan/phpstan": "^1.12 || ^2", - "phpstan/phpstan-strict-rules": "^1 || ^2", - "phpunit/phpunit": "^8 || ^9" - }, - "type": "library", - "extra": { - "phpstan": { - "includes": [ - "extension.neon" - ] - }, - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.3.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2024-11-12T16:29:46+00:00" - }, - { - "name": "composer/semver", - "version": "3.4.4", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", - "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.11", - "symfony/phpunit-bridge": "^3 || ^7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.4" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - } - ], - "time": "2025-08-20T19:15:30+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.5", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", - "shasum": "" - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2024-05-06T16:37:16+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "1.1.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", - "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "phpunit/phpunit": "<=7.5 || >=13" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^12 || ^13", - "phpstan/phpstan": "1.4.10 || 2.1.11", - "phpstan/phpstan-phpunit": "^1.0 || ^2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", - "psr/log": "^1 || ^2 || ^3" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.5" - }, - "time": "2025-04-07T20:06:18+00:00" - }, - { - "name": "evenement/evenement", - "version": "v3.0.2", - "source": { - "type": "git", - "url": "https://github.com/igorw/evenement.git", - "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc", - "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc", - "shasum": "" - }, - "require": { - "php": ">=7.0" - }, - "require-dev": { - "phpunit/phpunit": "^9 || ^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Evenement\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "Événement is a very simple event dispatching library for PHP", - "keywords": [ - "event-dispatcher", - "event-emitter" - ], - "support": { - "issues": "https://github.com/igorw/evenement/issues", - "source": "https://github.com/igorw/evenement/tree/v3.0.2" - }, - "time": "2023-08-08T05:53:35+00:00" - }, - { - "name": "fidry/cpu-core-counter", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "db9508f7b1474469d9d3c53b86f817e344732678" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678", - "reference": "db9508f7b1474469d9d3c53b86f817e344732678", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "fidry/makefile": "^0.2.0", - "fidry/php-cs-fixer-config": "^1.1.2", - "phpstan/extension-installer": "^1.2.0", - "phpstan/phpstan": "^2.0", - "phpstan/phpstan-deprecation-rules": "^2.0.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^8.5.31 || ^9.5.26", - "webmozarts/strict-phpunit": "^7.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Fidry\\CpuCoreCounter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Théo FIDRY", - "email": "theo.fidry@gmail.com" - } - ], - "description": "Tiny utility to get the number of CPU cores.", - "keywords": [ - "CPU", - "core" - ], - "support": { - "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0" - }, - "funding": [ - { - "url": "https://github.com/theofidry", - "type": "github" - } - ], - "time": "2025-08-14T07:29:31+00:00" - }, - { - "name": "filp/whoops", - "version": "2.18.4", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", - "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^4.0 || ^5.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", - "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" - ], - "support": { - "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.18.4" - }, - "funding": [ - { - "url": "https://github.com/denis-sokolov", - "type": "github" - } - ], - "time": "2025-08-08T12:00:00+00:00" - }, - { - "name": "friendsofphp/php-cs-fixer", - "version": "v3.92.5", - "source": { - "type": "git", - "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "260cc8c4a1d2f6d2f22cd4f9c70aa72e55ebac58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/260cc8c4a1d2f6d2f22cd4f9c70aa72e55ebac58", - "reference": "260cc8c4a1d2f6d2f22cd4f9c70aa72e55ebac58", - "shasum": "" - }, - "require": { - "clue/ndjson-react": "^1.3", - "composer/semver": "^3.4", - "composer/xdebug-handler": "^3.0.5", - "ext-filter": "*", - "ext-hash": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "fidry/cpu-core-counter": "^1.3", - "php": "^7.4 || ^8.0", - "react/child-process": "^0.6.6", - "react/event-loop": "^1.5", - "react/socket": "^1.16", - "react/stream": "^1.4", - "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0", - "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0", - "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", - "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", - "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", - "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0", - "symfony/polyfill-mbstring": "^1.33", - "symfony/polyfill-php80": "^1.33", - "symfony/polyfill-php81": "^1.33", - "symfony/polyfill-php84": "^1.33", - "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2 || ^8.0", - "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0" - }, - "require-dev": { - "facile-it/paraunit": "^1.3.1 || ^2.7", - "infection/infection": "^0.31", - "justinrainbow/json-schema": "^6.6", - "keradus/cli-executor": "^2.3", - "mikey179/vfsstream": "^1.6.12", - "php-coveralls/php-coveralls": "^2.9", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", - "phpunit/phpunit": "^9.6.31 || ^10.5.60 || ^11.5.46", - "symfony/polyfill-php85": "^1.33", - "symfony/var-dumper": "^5.4.48 || ^6.4.26 || ^7.4.0 || ^8.0", - "symfony/yaml": "^5.4.45 || ^6.4.30 || ^7.4.1 || ^8.0" - }, - "suggest": { - "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters." - }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "autoload": { - "psr-4": { - "PhpCsFixer\\": "src/" - }, - "exclude-from-classmap": [ - "src/**/Internal/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - } - ], - "description": "A tool to automatically fix PHP code style", - "keywords": [ - "Static code analysis", - "fixer", - "standards", - "static analysis" - ], - "support": { - "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.92.5" - }, - "funding": [ - { - "url": "https://github.com/keradus", - "type": "github" - } - ], - "time": "2026-01-08T21:57:37+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "7.10.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^2.3", - "guzzlehttp/psr7": "^2.8", - "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "provide": { - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-curl": "*", - "guzzle/client-integration-tests": "3.0.2", - "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.39 || ^9.6.20", - "psr/log": "^1.1 || ^2.0 || ^3.0" - }, - "suggest": { - "ext-curl": "Required for CURL handler support", - "ext-intl": "Required for Internationalized Domain Name (IDN) support", - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Jeremy Lindblom", - "email": "jeremeamia@gmail.com", - "homepage": "https://github.com/jeremeamia" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "psr-18", - "psr-7", - "rest", - "web service" - ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.10.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], - "time": "2025-08-23T22:36:01+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "481557b130ef3790cf82b713667b43030dc9c957" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", - "reference": "481557b130ef3790cf82b713667b43030dc9c957", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.3.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "type": "tidelift" - } - ], - "time": "2025-08-22T14:34:08+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "2.9.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884", - "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 || ^2.0", - "ralouphie/getallheaders": "^3.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "0.9.0", - "jshttp/mime-db": "1.54.0.1", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" - }, - "suggest": { - "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.9.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], - "time": "2026-03-10T16:41:02+00:00" - }, - { - "name": "jean85/pretty-package-versions", - "version": "2.1.1", - "source": { - "type": "git", - "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/4d7aa5dab42e2a76d99559706022885de0e18e1a", - "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a", - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2.1.0", - "php": "^7.4|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "jean85/composer-provided-replaced-stub-package": "^1.0", - "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^7.5|^8.5|^9.6", - "rector/rector": "^2.0", - "vimeo/psalm": "^4.3 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Jean85\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alessandro Lai", - "email": "alessandro.lai85@gmail.com" - } - ], - "description": "A library to get pretty versions strings of installed dependencies", - "keywords": [ - "composer", - "package", - "release", - "versions" - ], - "support": { - "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.1" - }, - "time": "2025-03-19T14:43:43+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.13.4", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2025-08-01T08:46:24+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.7.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" - }, - "time": "2025-12-06T11:56:16+00:00" - }, - { - "name": "nunomaduro/collision", - "version": "v8.8.3", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/1dc9e88d105699d0fee8bb18890f41b274f6b4c4", - "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4", - "shasum": "" - }, - "require": { - "filp/whoops": "^2.18.1", - "nunomaduro/termwind": "^2.3.1", - "php": "^8.2.0", - "symfony/console": "^7.3.0" - }, - "conflict": { - "laravel/framework": "<11.44.2 || >=13.0.0", - "phpunit/phpunit": "<11.5.15 || >=13.0.0" - }, - "require-dev": { - "brianium/paratest": "^7.8.3", - "larastan/larastan": "^3.4.2", - "laravel/framework": "^11.44.2 || ^12.18", - "laravel/pint": "^1.22.1", - "laravel/sail": "^1.43.1", - "laravel/sanctum": "^4.1.1", - "laravel/tinker": "^2.10.1", - "orchestra/testbench-core": "^9.12.0 || ^10.4", - "pestphp/pest": "^3.8.2 || ^4.0.0", - "sebastian/environment": "^7.2.1 || ^8.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - }, - "branch-alias": { - "dev-8.x": "8.x-dev" - } - }, - "autoload": { - "files": [ - "./src/Adapters/Phpunit/Autoload.php" - ], - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Cli error handling for console/command-line PHP applications.", - "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "dev", - "error", - "handling", - "laravel", - "laravel-zero", - "php", - "symfony" - ], - "support": { - "issues": "https://github.com/nunomaduro/collision/issues", - "source": "https://github.com/nunomaduro/collision" - }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2025-11-20T02:55:25+00:00" - }, - { - "name": "nunomaduro/termwind", - "version": "v2.3.3", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/termwind.git", - "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/6fb2a640ff502caace8e05fd7be3b503a7e1c017", - "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^8.2", - "symfony/console": "^7.3.6" - }, - "require-dev": { - "illuminate/console": "^11.46.1", - "laravel/pint": "^1.25.1", - "mockery/mockery": "^1.6.12", - "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.1.3", - "phpstan/phpstan": "^1.12.32", - "phpstan/phpstan-strict-rules": "^1.6.2", - "symfony/var-dumper": "^7.3.5", - "thecodingmachine/phpstan-strict-rules": "^1.0.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Termwind\\Laravel\\TermwindServiceProvider" - ] - }, - "branch-alias": { - "dev-2.x": "2.x-dev" - } - }, - "autoload": { - "files": [ - "src/Functions.php" - ], - "psr-4": { - "Termwind\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Its like Tailwind CSS, but for the console.", - "keywords": [ - "cli", - "console", - "css", - "package", - "php", - "style" - ], - "support": { - "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.3.3" - }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://github.com/xiCO2k", - "type": "github" - } - ], - "time": "2025-11-20T02:34:59+00:00" - }, - { - "name": "nyholm/psr7", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/Nyholm/psr7.git", - "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", - "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0", - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "http-interop/http-factory-tests": "^0.9", - "php-http/message-factory": "^1.0", - "php-http/psr7-integration-tests": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", - "symfony/error-handler": "^4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Nyholm\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - }, - { - "name": "Martijn van der Ven", - "email": "martijn@vanderven.se" - } - ], - "description": "A fast PHP7 implementation of PSR-7", - "homepage": "https://tnyholm.se", - "keywords": [ - "psr-17", - "psr-7" - ], - "support": { - "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.8.2" - }, - "funding": [ - { - "url": "https://github.com/Zegnat", - "type": "github" - }, - { - "url": "https://github.com/nyholm", - "type": "github" - } - ], - "time": "2024-09-09T07:06:30+00:00" - }, - { - "name": "pestphp/pest", - "version": "v3.8.5", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest.git", - "reference": "7796630eafcfd1c02660cecdde3bc6984fbf01f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/7796630eafcfd1c02660cecdde3bc6984fbf01f4", - "reference": "7796630eafcfd1c02660cecdde3bc6984fbf01f4", - "shasum": "" - }, - "require": { - "brianium/paratest": "^7.8.5", - "nunomaduro/collision": "^8.8.3", - "nunomaduro/termwind": "^2.3.3", - "pestphp/pest-plugin": "^3.0.0", - "pestphp/pest-plugin-arch": "^3.1.1", - "pestphp/pest-plugin-mutate": "^3.0.5", - "php": "^8.2.0", - "phpunit/phpunit": "^11.5.50" - }, - "conflict": { - "filp/whoops": "<2.16.0", - "phpunit/phpunit": ">11.5.50", - "sebastian/exporter": "<6.0.0", - "webmozart/assert": "<1.11.0" - }, - "require-dev": { - "pestphp/pest-dev-tools": "^3.4.0", - "pestphp/pest-plugin-type-coverage": "^3.6.1", - "symfony/process": "^7.4.4" - }, - "bin": [ - "bin/pest" - ], - "type": "library", - "extra": { - "pest": { - "plugins": [ - "Pest\\Mutate\\Plugins\\Mutate", - "Pest\\Plugins\\Configuration", - "Pest\\Plugins\\Bail", - "Pest\\Plugins\\Cache", - "Pest\\Plugins\\Coverage", - "Pest\\Plugins\\Init", - "Pest\\Plugins\\Environment", - "Pest\\Plugins\\Help", - "Pest\\Plugins\\Memory", - "Pest\\Plugins\\Only", - "Pest\\Plugins\\Printer", - "Pest\\Plugins\\ProcessIsolation", - "Pest\\Plugins\\Profile", - "Pest\\Plugins\\Retry", - "Pest\\Plugins\\Snapshot", - "Pest\\Plugins\\Verbose", - "Pest\\Plugins\\Version", - "Pest\\Plugins\\Parallel" - ] - }, - "phpstan": { - "includes": [ - "extension.neon" - ] - } - }, - "autoload": { - "files": [ - "src/Functions.php", - "src/Pest.php" - ], - "psr-4": { - "Pest\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "The elegant PHP Testing Framework.", - "keywords": [ - "framework", - "pest", - "php", - "test", - "testing", - "unit" - ], - "support": { - "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v3.8.5" - }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - } - ], - "time": "2026-01-28T01:33:45+00:00" - }, - { - "name": "pestphp/pest-plugin", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin.git", - "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e79b26c65bc11c41093b10150c1341cc5cdbea83", - "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0.0", - "composer-runtime-api": "^2.2.2", - "php": "^8.2" - }, - "conflict": { - "pestphp/pest": "<3.0.0" - }, - "require-dev": { - "composer/composer": "^2.7.9", - "pestphp/pest": "^3.0.0", - "pestphp/pest-dev-tools": "^3.0.0" - }, - "type": "composer-plugin", - "extra": { - "class": "Pest\\Plugin\\Manager" - }, - "autoload": { - "psr-4": { - "Pest\\Plugin\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "The Pest plugin manager", - "keywords": [ - "framework", - "manager", - "pest", - "php", - "plugin", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin/tree/v3.0.0" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2024-09-08T23:21:41+00:00" - }, - { - "name": "pestphp/pest-plugin-arch", - "version": "v3.1.1", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin-arch.git", - "reference": "db7bd9cb1612b223e16618d85475c6f63b9c8daa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/db7bd9cb1612b223e16618d85475c6f63b9c8daa", - "reference": "db7bd9cb1612b223e16618d85475c6f63b9c8daa", - "shasum": "" - }, - "require": { - "pestphp/pest-plugin": "^3.0.0", - "php": "^8.2", - "ta-tikoma/phpunit-architecture-test": "^0.8.4" - }, - "require-dev": { - "pestphp/pest": "^3.8.1", - "pestphp/pest-dev-tools": "^3.4.0" - }, - "type": "library", - "extra": { - "pest": { - "plugins": [ - "Pest\\Arch\\Plugin" - ] - } - }, - "autoload": { - "files": [ - "src/Autoload.php" - ], - "psr-4": { - "Pest\\Arch\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "The Arch plugin for Pest PHP.", - "keywords": [ - "arch", - "architecture", - "framework", - "pest", - "php", - "plugin", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin-arch/tree/v3.1.1" - }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - } - ], - "time": "2025-04-16T22:59:48+00:00" - }, - { - "name": "pestphp/pest-plugin-mutate", - "version": "v3.0.5", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin-mutate.git", - "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-mutate/zipball/e10dbdc98c9e2f3890095b4fe2144f63a5717e08", - "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^5.2.0", - "pestphp/pest-plugin": "^3.0.0", - "php": "^8.2", - "psr/simple-cache": "^3.0.0" - }, - "require-dev": { - "pestphp/pest": "^3.0.8", - "pestphp/pest-dev-tools": "^3.0.0", - "pestphp/pest-plugin-type-coverage": "^3.0.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Pest\\Mutate\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sandro Gehri", - "email": "sandrogehri@gmail.com" - } - ], - "description": "Mutates your code to find untested cases", - "keywords": [ - "framework", - "mutate", - "mutation", - "pest", - "php", - "plugin", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin-mutate/tree/v3.0.5" - }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/gehrisandro", - "type": "github" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - } - ], - "time": "2024-09-22T07:54:40+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "php-http/client-common", - "version": "2.7.3", - "source": { - "type": "git", - "url": "https://github.com/php-http/client-common.git", - "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/dcc6de29c90dd74faab55f71b79d89409c4bf0c1", - "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "php-http/httplug": "^2.0", - "php-http/message": "^1.6", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/polyfill-php80": "^1.17" - }, - "require-dev": { - "doctrine/instantiator": "^1.1", - "guzzlehttp/psr7": "^1.4", - "nyholm/psr7": "^1.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7" - }, - "suggest": { - "ext-json": "To detect JSON responses with the ContentTypePlugin", - "ext-libxml": "To detect XML responses with the ContentTypePlugin", - "php-http/cache-plugin": "PSR-6 Cache plugin", - "php-http/logger-plugin": "PSR-3 Logger plugin", - "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" - }, - "type": "library", - "autoload": { - "psr-4": { - "Http\\Client\\Common\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Common HTTP Client implementations and tools for HTTPlug", - "homepage": "http://httplug.io", - "keywords": [ - "client", - "common", - "http", - "httplug" - ], - "support": { - "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.3" - }, - "time": "2025-11-29T19:12:34+00:00" - }, - { - "name": "php-http/httplug", - "version": "2.4.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/httplug.git", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "php-http/promise": "^1.1", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0", - "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "HTTPlug, the HTTP client abstraction for PHP", - "homepage": "http://httplug.io", - "keywords": [ - "client", - "http" - ], - "support": { - "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.1" - }, - "time": "2024-09-23T11:39:58+00:00" - }, - { - "name": "php-http/message", - "version": "1.16.2", - "source": { - "type": "git", - "url": "https://github.com/php-http/message.git", - "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a", - "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a", - "shasum": "" - }, - "require": { - "clue/stream-filter": "^1.5", - "php": "^7.2 || ^8.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.6", - "ext-zlib": "*", - "guzzlehttp/psr7": "^1.0 || ^2.0", - "laminas/laminas-diactoros": "^2.0 || ^3.0", - "php-http/message-factory": "^1.0.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "slim/slim": "^3.0" - }, - "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "laminas/laminas-diactoros": "Used with Diactoros Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation" - }, - "type": "library", - "autoload": { - "files": [ - "src/filters.php" - ], - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "HTTP Message related tools", - "homepage": "http://php-http.org", - "keywords": [ - "http", - "message", - "psr-7" - ], - "support": { - "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.2" - }, - "time": "2024-10-02T11:34:13+00:00" - }, - { - "name": "php-http/mock-client", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/mock-client.git", - "reference": "81f558234421f7da58ed015604a03808996017d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/mock-client/zipball/81f558234421f7da58ed015604a03808996017d0", - "reference": "81f558234421f7da58ed015604a03808996017d0", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "php-http/client-common": "^2.0", - "php-http/discovery": "^1.16", - "php-http/httplug": "^2.0", - "psr/http-client": "^1.0", - "psr/http-factory-implementation": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/polyfill-php80": "^1.17" - }, - "provide": { - "php-http/async-client-implementation": "1.0", - "php-http/client-implementation": "1.0", - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Http\\Mock\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "David de Boer", - "email": "david@ddeboer.nl" - } - ], - "description": "Mock HTTP client", - "homepage": "http://httplug.io", - "keywords": [ - "client", - "http", - "mock", - "psr7" - ], - "support": { - "issues": "https://github.com/php-http/mock-client/issues", - "source": "https://github.com/php-http/mock-client/tree/1.6.1" - }, - "time": "2024-10-31T10:30:18+00:00" - }, - { - "name": "php-http/promise", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/promise.git", - "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", - "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3", - "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Http\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joel Wurtz", - "email": "joel.wurtz@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Promise used for asynchronous HTTP requests", - "homepage": "http://httplug.io", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.3.1" - }, - "time": "2024-03-15T13:55:21+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, - "time": "2020-06-27T09:03:43+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "5.6.6", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8", - "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.1", - "ext-filter": "*", - "php": "^7.4 || ^8.0", - "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.7", - "phpstan/phpdoc-parser": "^1.7|^2.0", - "webmozart/assert": "^1.9.1 || ^2" - }, - "require-dev": { - "mockery/mockery": "~1.3.5 || ~1.6.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-webmozart-assert": "^1.2", - "phpunit/phpunit": "^9.5", - "psalm/phar": "^5.26" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - }, - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.6" - }, - "time": "2025-12-22T21:13:58+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.12.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195", - "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.3 || ^8.0", - "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.18|^2.0" - }, - "require-dev": { - "ext-tokenizer": "*", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "rector/rector": "^0.13.9", - "vimeo/psalm": "^4.25" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0" - }, - "time": "2025-11-21T15:09:14+00:00" - }, - { - "name": "phpstan/extension-installer", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/phpstan/extension-installer.git", - "reference": "85e90b3942d06b2326fba0403ec24fe912372936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", - "reference": "85e90b3942d06b2326fba0403ec24fe912372936", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0", - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.9.0 || ^2.0" - }, - "require-dev": { - "composer/composer": "^2.0", - "php-parallel-lint/php-parallel-lint": "^1.2.0", - "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" - }, - "type": "composer-plugin", - "extra": { - "class": "PHPStan\\ExtensionInstaller\\Plugin" - }, - "autoload": { - "psr-4": { - "PHPStan\\ExtensionInstaller\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Composer plugin for automatic installation of PHPStan extensions", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpstan/extension-installer/issues", - "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" - }, - "time": "2024-09-04T20:21:43+00:00" - }, - { - "name": "phpstan/phpdoc-parser", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495", - "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^5.3.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^9.6", - "symfony/process": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0" - }, - "time": "2025-08-30T15:50:23+00:00" - }, - { - "name": "phpstan/phpstan", - "version": "2.1.33", - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9e800e6bee7d5bd02784d4c6069b48032d16224f", - "reference": "9e800e6bee7d5bd02784d4c6069b48032d16224f", - "shasum": "" - }, - "require": { - "php": "^7.4|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" - }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "docs": "https://phpstan.org/user-guide/getting-started", - "forum": "https://github.com/phpstan/phpstan/discussions", - "issues": "https://github.com/phpstan/phpstan/issues", - "security": "https://github.com/phpstan/phpstan/security/policy", - "source": "https://github.com/phpstan/phpstan-src" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - } - ], - "time": "2025-12-05T10:24:31+00:00" - }, - { - "name": "phpstan/phpstan-phpunit", - "version": "2.0.11", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "5e30669bef866eff70db8b58d72a5c185aa82414" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/5e30669bef866eff70db8b58d72a5c185aa82414", - "reference": "5e30669bef866eff70db8b58d72a5c185aa82414", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0", - "phpstan/phpstan": "^2.1.32" - }, - "conflict": { - "phpunit/phpunit": "<7.0" - }, - "require-dev": { - "nikic/php-parser": "^5", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-deprecation-rules": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^9.6" - }, - "type": "phpstan-extension", - "extra": { - "phpstan": { - "includes": [ - "extension.neon", - "rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "PHPStan\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPUnit extensions and rules for PHPStan", - "support": { - "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.11" - }, - "time": "2025-12-19T09:05:35+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "11.0.12", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2c1ed04922802c15e1de5d7447b4856de949cf56", - "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^5.7.0", - "php": ">=8.2", - "phpunit/php-file-iterator": "^5.1.0", - "phpunit/php-text-template": "^4.0.1", - "sebastian/code-unit-reverse-lookup": "^4.0.1", - "sebastian/complexity": "^4.0.1", - "sebastian/environment": "^7.2.1", - "sebastian/lines-of-code": "^3.0.1", - "sebastian/version": "^5.0.2", - "theseer/tokenizer": "^1.3.1" - }, - "require-dev": { - "phpunit/phpunit": "^11.5.46" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "11.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.12" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", - "type": "tidelift" - } - ], - "time": "2025-12-24T07:01:01+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "5.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903", - "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", - "type": "tidelift" - } - ], - "time": "2026-02-02T13:52:54+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "5.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", - "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^11.0" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T05:07:44+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", - "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T05:08:43+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "7.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", - "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "security": "https://github.com/sebastianbergmann/php-timer/security/policy", - "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T05:09:35+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "11.5.50", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "fdfc727f0fcacfeb8fcb30c7e5da173125b58be3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fdfc727f0fcacfeb8fcb30c7e5da173125b58be3", - "reference": "fdfc727f0fcacfeb8fcb30c7e5da173125b58be3", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=8.2", - "phpunit/php-code-coverage": "^11.0.12", - "phpunit/php-file-iterator": "^5.1.0", - "phpunit/php-invoker": "^5.0.1", - "phpunit/php-text-template": "^4.0.1", - "phpunit/php-timer": "^7.0.1", - "sebastian/cli-parser": "^3.0.2", - "sebastian/code-unit": "^3.0.3", - "sebastian/comparator": "^6.3.3", - "sebastian/diff": "^6.0.2", - "sebastian/environment": "^7.2.1", - "sebastian/exporter": "^6.3.2", - "sebastian/global-state": "^7.0.2", - "sebastian/object-enumerator": "^6.0.1", - "sebastian/type": "^5.1.3", - "sebastian/version": "^5.0.2", - "staabm/side-effects-detector": "^1.0.5" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "11.5-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.50" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2026-01-27T05:59:18+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-factory" - }, - "time": "2024-04-15T12:06:14+00:00" - }, - { - "name": "psr/log", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.2" - }, - "time": "2024-09-11T13:17:53+00:00" - }, - { - "name": "psr/simple-cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" - }, - "time": "2021-10-29T13:26:27+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "react/cache", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/cache.git", - "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", - "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "react/promise": "^3.0 || ^2.0 || ^1.1" - }, - "require-dev": { - "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "Async, Promise-based cache interface for ReactPHP", - "keywords": [ - "cache", - "caching", - "promise", - "reactphp" - ], - "support": { - "issues": "https://github.com/reactphp/cache/issues", - "source": "https://github.com/reactphp/cache/tree/v1.2.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2022-11-30T15:59:55+00:00" - }, - { - "name": "react/child-process", - "version": "v0.6.7", - "source": { - "type": "git", - "url": "https://github.com/reactphp/child-process.git", - "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/child-process/zipball/970f0e71945556422ee4570ccbabaedc3cf04ad3", - "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3", - "shasum": "" - }, - "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "php": ">=5.3.0", - "react/event-loop": "^1.2", - "react/stream": "^1.4" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/socket": "^1.16", - "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\ChildProcess\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "Event-driven library for executing child processes with ReactPHP.", - "keywords": [ - "event-driven", - "process", - "reactphp" - ], - "support": { - "issues": "https://github.com/reactphp/child-process/issues", - "source": "https://github.com/reactphp/child-process/tree/v0.6.7" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2025-12-23T15:25:20+00:00" - }, - { - "name": "react/dns", - "version": "v1.14.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/dns.git", - "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/dns/zipball/7562c05391f42701c1fccf189c8225fece1cd7c3", - "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "react/cache": "^1.0 || ^0.6 || ^0.5", - "react/event-loop": "^1.2", - "react/promise": "^3.2 || ^2.7 || ^1.2.1" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/async": "^4.3 || ^3 || ^2", - "react/promise-timer": "^1.11" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\Dns\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "Async DNS resolver for ReactPHP", - "keywords": [ - "async", - "dns", - "dns-resolver", - "reactphp" - ], - "support": { - "issues": "https://github.com/reactphp/dns/issues", - "source": "https://github.com/reactphp/dns/tree/v1.14.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2025-11-18T19:34:28+00:00" - }, - { - "name": "react/event-loop", - "version": "v1.6.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/event-loop.git", - "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/ba276bda6083df7e0050fd9b33f66ad7a4ac747a", - "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "suggest": { - "ext-pcntl": "For signal handling support when using the StreamSelectLoop" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\EventLoop\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", - "keywords": [ - "asynchronous", - "event-loop" - ], - "support": { - "issues": "https://github.com/reactphp/event-loop/issues", - "source": "https://github.com/reactphp/event-loop/tree/v1.6.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2025-11-17T20:46:25+00:00" - }, - { - "name": "react/promise", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "23444f53a813a3296c1368bb104793ce8d88f04a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/23444f53a813a3296c1368bb104793ce8d88f04a", - "reference": "23444f53a813a3296c1368bb104793ce8d88f04a", - "shasum": "" - }, - "require": { - "php": ">=7.1.0" - }, - "require-dev": { - "phpstan/phpstan": "1.12.28 || 1.4.10", - "phpunit/phpunit": "^9.6 || ^7.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "React\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v3.3.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2025-08-19T18:57:03+00:00" - }, - { - "name": "react/socket", - "version": "v1.17.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/socket.git", - "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/ef5b17b81f6f60504c539313f94f2d826c5faa08", - "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08", - "shasum": "" - }, - "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "php": ">=5.3.0", - "react/dns": "^1.13", - "react/event-loop": "^1.2", - "react/promise": "^3.2 || ^2.6 || ^1.2.1", - "react/stream": "^1.4" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/async": "^4.3 || ^3.3 || ^2", - "react/promise-stream": "^1.4", - "react/promise-timer": "^1.11" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\Socket\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", - "keywords": [ - "Connection", - "Socket", - "async", - "reactphp", - "stream" - ], - "support": { - "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.17.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2025-11-19T20:47:34+00:00" - }, - { - "name": "react/stream", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/stream.git", - "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d", - "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d", - "shasum": "" - }, - "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "php": ">=5.3.8", - "react/event-loop": "^1.2" - }, - "require-dev": { - "clue/stream-filter": "~1.2", - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "psr-4": { - "React\\Stream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", - "keywords": [ - "event-driven", - "io", - "non-blocking", - "pipe", - "reactphp", - "readable", - "stream", - "writable" - ], - "support": { - "issues": "https://github.com/reactphp/stream/issues", - "source": "https://github.com/reactphp/stream/tree/v1.4.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2024-06-11T12:45:25+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", - "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T04:41:36+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", - "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "security": "https://github.com/sebastianbergmann/code-unit/security/policy", - "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2025-03-19T07:56:08+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "183a9b2632194febd219bb9246eee421dad8d45e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", - "reference": "183a9b2632194febd219bb9246eee421dad8d45e", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T04:45:54+00:00" - }, - { - "name": "sebastian/comparator", - "version": "6.3.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", - "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-mbstring": "*", - "php": ">=8.2", - "sebastian/diff": "^6.0", - "sebastian/exporter": "^6.0" - }, - "require-dev": { - "phpunit/phpunit": "^11.4" - }, - "suggest": { - "ext-bcmath": "For comparing BcMath\\Number objects" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.3-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", - "type": "tidelift" - } - ], - "time": "2026-01-24T09:26:40+00:00" - }, - { - "name": "sebastian/complexity", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", - "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^5.0", - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T04:49:50+00:00" - }, - { - "name": "sebastian/diff", - "version": "6.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", - "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T04:53:05+00:00" - }, - { - "name": "sebastian/environment", - "version": "7.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", - "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "https://github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", - "type": "tidelift" - } - ], - "time": "2025-05-21T11:55:47+00:00" - }, - { - "name": "sebastian/exporter", - "version": "6.3.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "70a298763b40b213ec087c51c739efcaa90bcd74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74", - "reference": "70a298763b40b213ec087c51c739efcaa90bcd74", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=8.2", - "sebastian/recursion-context": "^6.0" - }, - "require-dev": { - "phpunit/phpunit": "^11.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.3-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", - "type": "tidelift" - } - ], - "time": "2025-09-24T06:12:51+00:00" - }, - { - "name": "sebastian/global-state", - "version": "7.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "3be331570a721f9a4b5917f4209773de17f747d7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", - "reference": "3be331570a721f9a4b5917f4209773de17f747d7", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "sebastian/object-reflector": "^4.0", - "sebastian/recursion-context": "^6.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "https://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T04:57:36+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", - "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^5.0", - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T04:58:38+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "6.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "f5b498e631a74204185071eb41f33f38d64608aa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", - "reference": "f5b498e631a74204185071eb41f33f38d64608aa", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "sebastian/object-reflector": "^4.0", - "sebastian/recursion-context": "^6.0" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T05:00:13+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", - "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T05:01:32+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "6.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", - "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", - "type": "tidelift" - } - ], - "time": "2025-08-13T04:42:22+00:00" - }, - { - "name": "sebastian/type", - "version": "5.1.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", - "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "security": "https://github.com/sebastianbergmann/type/security/policy", - "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/type", - "type": "tidelift" - } - ], - "time": "2025-08-09T06:55:48+00:00" - }, - { - "name": "sebastian/version", - "version": "5.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", - "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "security": "https://github.com/sebastianbergmann/version/security/policy", - "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-10-09T05:16:32+00:00" - }, - { - "name": "staabm/side-effects-detector", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/staabm/side-effects-detector.git", - "reference": "d8334211a140ce329c13726d4a715adbddd0a163" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", - "reference": "d8334211a140ce329c13726d4a715adbddd0a163", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.6", - "phpunit/phpunit": "^9.6.21", - "symfony/var-dumper": "^5.4.43", - "tomasvotruba/type-coverage": "1.0.0", - "tomasvotruba/unused-public": "1.0.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "lib/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A static analysis tool to detect side effects in PHP code", - "keywords": [ - "static analysis" - ], - "support": { - "issues": "https://github.com/staabm/side-effects-detector/issues", - "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" - }, - "funding": [ - { - "url": "https://github.com/staabm", - "type": "github" - } - ], - "time": "2024-10-20T05:08:20+00:00" - }, - { - "name": "symfony/console", - "version": "v7.4.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/732a9ca6cd9dfd940c639062d5edbde2f6727fb6", - "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.2|^8.0" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/dotenv": "<6.4", - "symfony/event-dispatcher": "<6.4", - "symfony/lock": "<6.4", - "symfony/process": "<6.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/event-dispatcher": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/lock": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/stopwatch": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v7.4.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-12-23T14:50:43+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-25T14:21:43+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v7.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d", - "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/event-dispatcher-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/service-contracts": "<2.5" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/error-handler": "^6.4|^7.0|^8.0", - "symfony/expression-language": "^6.4|^7.0|^8.0", - "symfony/framework-bundle": "^6.4|^7.0|^8.0", - "symfony/http-foundation": "^6.4|^7.0|^8.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0|^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-10-28T09:38:46+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-25T14:21:43+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v7.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "d551b38811096d0be9c4691d406991b47c0c630a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/d551b38811096d0be9c4691d406991b47c0c630a", - "reference": "d551b38811096d0be9c4691d406991b47c0c630a", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "require-dev": { - "symfony/process": "^6.4|^7.0|^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-27T13:27:24+00:00" - }, - { - "name": "symfony/finder", - "version": "v7.4.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "fffe05569336549b20a1be64250b40516d6e8d06" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/fffe05569336549b20a1be64250b40516d6e8d06", - "reference": "fffe05569336549b20a1be64250b40516d6e8d06", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "symfony/filesystem": "^6.4|^7.0|^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v7.4.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-12-23T14:50:43+00:00" - }, - { - "name": "symfony/http-client", - "version": "v7.4.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client.git", - "reference": "d01dfac1e0dc99f18da48b18101c23ce57929616" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/d01dfac1e0dc99f18da48b18101c23ce57929616", - "reference": "d01dfac1e0dc99f18da48b18101c23ce57929616", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "~3.4.4|^3.5.2", - "symfony/polyfill-php83": "^1.29", - "symfony/service-contracts": "^2.5|^3" - }, - "conflict": { - "amphp/amp": "<2.5", - "amphp/socket": "<1.1", - "php-http/discovery": "<1.15", - "symfony/http-foundation": "<6.4" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "1.0", - "symfony/http-client-implementation": "3.0" - }, - "require-dev": { - "amphp/http-client": "^4.2.1|^5.0", - "amphp/http-tunnel": "^1.0|^2.0", - "guzzlehttp/promises": "^1.4|^2.0", - "nyholm/psr7": "^1.0", - "php-http/httplug": "^1.0|^2.0", - "psr/http-client": "^1.0", - "symfony/amphp-http-client-meta": "^1.0|^2.0", - "symfony/cache": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/process": "^6.4|^7.0|^8.0", - "symfony/rate-limiter": "^6.4|^7.0|^8.0", - "symfony/stopwatch": "^6.4|^7.0|^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", - "homepage": "https://symfony.com", - "keywords": [ - "http" - ], - "support": { - "source": "https://github.com/symfony/http-client/tree/v7.4.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-12-23T14:50:43+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "75d7043853a42837e68111812f4d964b01e5101c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c", - "reference": "75d7043853a42837e68111812f4d964b01e5101c", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-04-29T11:18:49+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "v7.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "b38026df55197f9e39a44f3215788edf83187b80" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b38026df55197f9e39a44f3215788edf83187b80", - "reference": "b38026df55197f9e39a44f3215788edf83187b80", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an improved replacement for the array_replace PHP function", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-12T15:39:26+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-27T09:58:17+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "php": ">=7.2" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-12-23T08:48:59+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-01-02T08:10:11+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-php83", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", - "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-07-08T02:45:35+00:00" - }, - { - "name": "symfony/polyfill-php84", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php84.git", - "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", - "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php84\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-24T13:30:11+00:00" - }, - { - "name": "symfony/process", - "version": "v7.4.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "2f8e1a6cdf590ca63715da4d3a7a3327404a523f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/2f8e1a6cdf590ca63715da4d3a7a3327404a523f", - "reference": "2f8e1a6cdf590ca63715da4d3a7a3327404a523f", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v7.4.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-12-19T10:00:43+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v3.6.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-07-15T11:30:57+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v7.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "8a24af0a2e8a872fb745047180649b8418303084" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8a24af0a2e8a872fb745047180649b8418303084", - "reference": "8a24af0a2e8a872fb745047180649b8418303084", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/service-contracts": "^2.5|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a way to profile code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-08-04T07:05:15+00:00" - }, - { - "name": "symfony/string", - "version": "v7.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003", - "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.33", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" - }, - "require-dev": { - "symfony/emoji": "^7.1|^8.0", - "symfony/http-client": "^6.4|^7.0|^8.0", - "symfony/intl": "^6.4|^7.0|^8.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0|^8.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v7.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-27T13:27:24+00:00" - }, - { - "name": "ta-tikoma/phpunit-architecture-test", - "version": "0.8.5", - "source": { - "type": "git", - "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git", - "reference": "cf6fb197b676ba716837c886baca842e4db29005" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/cf6fb197b676ba716837c886baca842e4db29005", - "reference": "cf6fb197b676ba716837c886baca842e4db29005", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18.0 || ^5.0.0", - "php": "^8.1.0", - "phpdocumentor/reflection-docblock": "^5.3.0", - "phpunit/phpunit": "^10.5.5 || ^11.0.0 || ^12.0.0", - "symfony/finder": "^6.4.0 || ^7.0.0" - }, - "require-dev": { - "laravel/pint": "^1.13.7", - "phpstan/phpstan": "^1.10.52" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPUnit\\Architecture\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ni Shi", - "email": "futik0ma011@gmail.com" - }, - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Methods for testing application architecture", - "keywords": [ - "architecture", - "phpunit", - "stucture", - "test", - "testing" - ], - "support": { - "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues", - "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.5" - }, - "time": "2025-04-20T20:23:40+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.3.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2025-11-17T20:03:58+00:00" - }, - { - "name": "webmozart/assert", - "version": "2.1.1", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "bdbabc199a7ba9965484e4725d66170e5711323b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/bdbabc199a7ba9965484e4725d66170e5711323b", - "reference": "bdbabc199a7ba9965484e4725d66170e5711323b", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-date": "*", - "ext-filter": "*", - "php": "^8.2" - }, - "suggest": { - "ext-intl": "", - "ext-simplexml": "", - "ext-spl": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-feature/2-0": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - }, - { - "name": "Woody Gilk", - "email": "woody.gilk@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/2.1.1" - }, - "time": "2026-01-08T11:28:40+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^8.1" - }, - "platform-dev": {}, - "platform-overrides": { - "php": "8.3" - }, - "plugin-api-version": "2.6.0" -} diff --git a/docs/Models/Components/AuthenticationErrorCode.md b/docs/Models/Components/AuthenticationErrorCode.md new file mode 100644 index 0000000..77b2b33 --- /dev/null +++ b/docs/Models/Components/AuthenticationErrorCode.md @@ -0,0 +1,18 @@ +# AuthenticationErrorCode + +Exactly what went wrong. Stable; safe to branch on. New codes may be added. + +- `unauthorized`: Authentication failed. +- `missing_api_key`: No API key in the `Authorization` header. +- `malformed_api_key`: The `Authorization` header does not contain a valid key format. +- `invalid_api_key`: The API key does not exist or was revoked. + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `Unauthorized` | unauthorized | +| `MissingApiKey` | missing_api_key | +| `MalformedApiKey` | malformed_api_key | +| `InvalidApiKey` | invalid_api_key | \ No newline at end of file diff --git a/docs/Models/Components/BadRequestErrorCode.md b/docs/Models/Components/BadRequestErrorCode.md new file mode 100644 index 0000000..5dc7ec4 --- /dev/null +++ b/docs/Models/Components/BadRequestErrorCode.md @@ -0,0 +1,14 @@ +# BadRequestErrorCode + +Exactly what went wrong. Stable; safe to branch on. New codes may be added. + +- `invalid_request`: A parameter is invalid. `message` says which one. +- `validation_failed`: The request body does not match the schema. `issues` lists each problem with its `path`. + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `InvalidRequest` | invalid_request | +| `ValidationFailed` | validation_failed | \ No newline at end of file diff --git a/docs/Models/Components/Block.md b/docs/Models/Components/Block.md new file mode 100644 index 0000000..e7a242f --- /dev/null +++ b/docs/Models/Components/Block.md @@ -0,0 +1,9 @@ +# Block + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `until` | *?float* | :heavy_minus_sign: | The timestamp until which they are blocked if the author is suspended. | +| `reason` | *?string* | :heavy_minus_sign: | The moderators reason why the author was blocked or suspended. | \ No newline at end of file diff --git a/docs/Models/Components/Channel.md b/docs/Models/Components/Channel.md new file mode 100644 index 0000000..407b6a5 --- /dev/null +++ b/docs/Models/Components/Channel.md @@ -0,0 +1,28 @@ +# Channel + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the channel. | +| `projectId` | *string* | :heavy_check_mark: | The ID of the project the channel is in. | +| `key` | *string* | :heavy_check_mark: | The key you pass as `channel` when you moderate content. Unique in the project. | +| `name` | *string* | :heavy_check_mark: | The channel's name. | +| `description` | *string* | :heavy_check_mark: | The channel's description. | +| `isDefault` | *bool* | :heavy_check_mark: | Whether requests that name no channel use this one. Each project has one default channel. | +| `contentType` | [Components\ContentType](../../Models/Components/ContentType.md) | :heavy_check_mark: | N/A | +| `flaggingMode` | [Components\FlaggingMode](../../Models/Components/FlaggingMode.md) | :heavy_check_mark: | `ACTIVE` flags content. `DRY_RUN` evaluates content without flagging it. | +| `contextEnabled` | *bool* | :heavy_check_mark: | Whether earlier messages in the conversation are read when moderating a message. | +| `enableImageModeration` | *bool* | :heavy_check_mark: | Whether images are moderated. | +| `enableVideoModeration` | *bool* | :heavy_check_mark: | Whether videos are moderated. | +| `enableAudioModeration` | *bool* | :heavy_check_mark: | Whether audio is moderated. | +| `enableVoiceModeration` | *bool* | :heavy_check_mark: | Whether real-time voice streams are moderated. | +| `includeTranscriptInResponse` | *bool* | :heavy_check_mark: | Whether audio and video transcripts are returned in responses. | +| `transcriptionQuality` | [Components\TranscriptionQuality](../../Models/Components/TranscriptionQuality.md) | :heavy_check_mark: | Trade-off between transcription speed and accuracy. | +| `unicodeSpoofDetectionEnabled` | *bool* | :heavy_check_mark: | Whether look-alike Unicode characters are normalized before moderation. | +| `frameCaptureInterval` | *float* | :heavy_check_mark: | Seconds between frames captured from a video. | +| `maxFramesPerVideo` | *int* | :heavy_check_mark: | The most frames moderated per video. | +| `spreadFrames` | *bool* | :heavy_check_mark: | Whether frames are spread evenly across the whole video. | +| `createdAt` | *string* | :heavy_check_mark: | When the channel was created. | +| `updatedAt` | *string* | :heavy_check_mark: | When the channel was last changed. | \ No newline at end of file diff --git a/docs/Models/Components/ConflictErrorCode.md b/docs/Models/Components/ConflictErrorCode.md new file mode 100644 index 0000000..c2b2dcc --- /dev/null +++ b/docs/Models/Components/ConflictErrorCode.md @@ -0,0 +1,12 @@ +# ConflictErrorCode + +Exactly what went wrong. Stable; safe to branch on. New codes may be added. + +- `resource_conflict`: The request conflicts with an existing resource. + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `ResourceConflict` | resource_conflict | \ No newline at end of file diff --git a/docs/Models/Components/ContentType.md b/docs/Models/Components/ContentType.md new file mode 100644 index 0000000..c1ecd39 --- /dev/null +++ b/docs/Models/Components/ContentType.md @@ -0,0 +1,18 @@ +# ContentType + +The kind of content the channel moderates. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Profile` | profile | +| `Message` | message | +| `Post` | post | +| `Comment` | comment | +| `Event` | event | +| `Product` | product | +| `Review` | review | +| `Voice` | voice | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/ErrorIssue.md b/docs/Models/Components/ErrorIssue.md new file mode 100644 index 0000000..43be94f --- /dev/null +++ b/docs/Models/Components/ErrorIssue.md @@ -0,0 +1,10 @@ +# ErrorIssue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `message` | *string* | :heavy_check_mark: | What is wrong. | +| `path` | array<[string\|float](../../Models/Components/Path.md)> | :heavy_minus_sign: | Location of the invalid field in the request body. | +| `code` | *?string* | :heavy_minus_sign: | Validation rule that failed. | \ No newline at end of file diff --git a/docs/Models/Components/FlaggingMode.md b/docs/Models/Components/FlaggingMode.md new file mode 100644 index 0000000..8fadee3 --- /dev/null +++ b/docs/Models/Components/FlaggingMode.md @@ -0,0 +1,11 @@ +# FlaggingMode + +`ACTIVE` flags content. `DRY_RUN` evaluates content without flagging it. + + +## Values + +| Name | Value | +| -------- | -------- | +| `DryRun` | DRY_RUN | +| `Active` | ACTIVE | \ No newline at end of file diff --git a/docs/Models/Components/InternalServerErrorCode.md b/docs/Models/Components/InternalServerErrorCode.md new file mode 100644 index 0000000..996a41f --- /dev/null +++ b/docs/Models/Components/InternalServerErrorCode.md @@ -0,0 +1,12 @@ +# InternalServerErrorCode + +Exactly what went wrong. Stable; safe to branch on. New codes may be added. + +- `internal_error`: Something went wrong on our side. Retry with backoff. + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `InternalError` | internal_error | \ No newline at end of file diff --git a/docs/Models/Components/Metadata.md b/docs/Models/Components/Metadata.md new file mode 100644 index 0000000..75d1aa2 --- /dev/null +++ b/docs/Models/Components/Metadata.md @@ -0,0 +1,14 @@ +# Metadata + +Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `emailVerified` | *?bool* | :heavy_minus_sign: | Whether the author's email is verified | +| `phoneVerified` | *?bool* | :heavy_minus_sign: | Whether the author's phone number is verified | +| `identityVerified` | *?bool* | :heavy_minus_sign: | Whether the author's identity is verified | +| `isPayingCustomer` | *?bool* | :heavy_minus_sign: | Whether the author is a paying customer | +| `additionalProperties` | array | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/Metrics.md b/docs/Models/Components/Metrics.md new file mode 100644 index 0000000..e85a078 --- /dev/null +++ b/docs/Models/Components/Metrics.md @@ -0,0 +1,10 @@ +# Metrics + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `totalContent` | *float* | :heavy_check_mark: | Total pieces of content | +| `flaggedContent` | *float* | :heavy_check_mark: | Number of flagged content pieces | +| `averageSentiment` | *?float* | :heavy_minus_sign: | Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. | \ No newline at end of file diff --git a/docs/Models/Components/NotFoundErrorCode.md b/docs/Models/Components/NotFoundErrorCode.md new file mode 100644 index 0000000..238f1b3 --- /dev/null +++ b/docs/Models/Components/NotFoundErrorCode.md @@ -0,0 +1,26 @@ +# NotFoundErrorCode + +Exactly what went wrong. Stable; safe to branch on. New codes may be added. + +- `resource_not_found`: The resource does not exist. +- `action_not_found`: The action does not exist. +- `author_not_found`: The author does not exist. +- `queue_not_found`: The review queue does not exist. +- `wordlist_not_found`: The wordlist does not exist. +- `webhook_not_found`: The webhook does not exist. +- `project_not_found`: The project does not exist. +- `channel_not_found`: The channel does not exist. + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `ResourceNotFound` | resource_not_found | +| `ActionNotFound` | action_not_found | +| `AuthorNotFound` | author_not_found | +| `QueueNotFound` | queue_not_found | +| `WordlistNotFound` | wordlist_not_found | +| `WebhookNotFound` | webhook_not_found | +| `ProjectNotFound` | project_not_found | +| `ChannelNotFound` | channel_not_found | \ No newline at end of file diff --git a/docs/Models/Components/Pagination.md b/docs/Models/Components/Pagination.md new file mode 100644 index 0000000..9d402d9 --- /dev/null +++ b/docs/Models/Components/Pagination.md @@ -0,0 +1,14 @@ +# Pagination + +Where this page is in the full list. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `page` | *int* | :heavy_check_mark: | The current page, starting at 1. | +| `pageSize` | *int* | :heavy_check_mark: | Number of items per page. | +| `total` | *int* | :heavy_check_mark: | Total number of items. | +| `totalPages` | *int* | :heavy_check_mark: | Total number of pages. | +| `hasMore` | *bool* | :heavy_check_mark: | Whether there is a next page. | \ No newline at end of file diff --git a/docs/Models/Components/Path.md b/docs/Models/Components/Path.md new file mode 100644 index 0000000..40333d3 --- /dev/null +++ b/docs/Models/Components/Path.md @@ -0,0 +1,23 @@ +# Path + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/PermissionDeniedErrorCode.md b/docs/Models/Components/PermissionDeniedErrorCode.md new file mode 100644 index 0000000..a8de7e3 --- /dev/null +++ b/docs/Models/Components/PermissionDeniedErrorCode.md @@ -0,0 +1,28 @@ +# PermissionDeniedErrorCode + +Exactly what went wrong. Stable; safe to branch on. New codes may be added. + +- `permission_denied`: The API key cannot perform this request. +- `account_disabled`: The organization account is disabled. +- `quota_exceeded`: The organization has used all API requests on its plan. +- `plan_feature_unavailable`: The current plan does not include this feature. +- `plan_limit_exceeded`: The request goes over a limit of the current plan. +- `project_key_required`: This endpoint needs a project API key, but an organization key was used. +- `organization_key_required`: This endpoint needs an organization API key, but a project key was used. +- `missing_key_permission`: The organization key does not have the permission this endpoint needs. +- `project_not_reachable`: The organization key is limited to other projects. + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `PermissionDenied` | permission_denied | +| `AccountDisabled` | account_disabled | +| `QuotaExceeded` | quota_exceeded | +| `PlanFeatureUnavailable` | plan_feature_unavailable | +| `PlanLimitExceeded` | plan_limit_exceeded | +| `ProjectKeyRequired` | project_key_required | +| `OrganizationKeyRequired` | organization_key_required | +| `MissingKeyPermission` | missing_key_permission | +| `ProjectNotReachable` | project_not_reachable | \ No newline at end of file diff --git a/docs/Models/Components/Project.md b/docs/Models/Components/Project.md new file mode 100644 index 0000000..475b42b --- /dev/null +++ b/docs/Models/Components/Project.md @@ -0,0 +1,17 @@ +# Project + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the project. | +| `name` | *string* | :heavy_check_mark: | The project's name. | +| `description` | *string* | :heavy_check_mark: | The project's description. | +| `domain` | *string* | :heavy_check_mark: | The website or app the project moderates content for. | +| `context` | *string* | :heavy_check_mark: | What the platform is and who uses it. AI moderation reads it to judge content in context. | +| `globalFlaggingMode` | [Components\ProjectGlobalFlaggingMode](../../Models/Components/ProjectGlobalFlaggingMode.md) | :heavy_check_mark: | `ACTIVE` flags content. `DRY_RUN` evaluates content without flagging it, for testing a setup. | +| `enableRequestLogging` | *bool* | :heavy_check_mark: | Whether moderated content is stored and shown in the dashboard. | +| `casebookEnabled` | *bool* | :heavy_check_mark: | Whether decisions made in the review queue are recorded in the project's casebook. | +| `createdAt` | *string* | :heavy_check_mark: | When the project was created. | +| `updatedAt` | *string* | :heavy_check_mark: | When the project was last changed. | \ No newline at end of file diff --git a/docs/Models/Components/ProjectGlobalFlaggingMode.md b/docs/Models/Components/ProjectGlobalFlaggingMode.md new file mode 100644 index 0000000..f261a72 --- /dev/null +++ b/docs/Models/Components/ProjectGlobalFlaggingMode.md @@ -0,0 +1,11 @@ +# ProjectGlobalFlaggingMode + +`ACTIVE` flags content. `DRY_RUN` evaluates content without flagging it, for testing a setup. + + +## Values + +| Name | Value | +| -------- | -------- | +| `DryRun` | DRY_RUN | +| `Active` | ACTIVE | \ No newline at end of file diff --git a/docs/Models/Components/ProjectWithKey.md b/docs/Models/Components/ProjectWithKey.md new file mode 100644 index 0000000..bac57cc --- /dev/null +++ b/docs/Models/Components/ProjectWithKey.md @@ -0,0 +1,18 @@ +# ProjectWithKey + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the project. | +| `name` | *string* | :heavy_check_mark: | The project's name. | +| `description` | *string* | :heavy_check_mark: | The project's description. | +| `domain` | *string* | :heavy_check_mark: | The website or app the project moderates content for. | +| `context` | *string* | :heavy_check_mark: | What the platform is and who uses it. AI moderation reads it to judge content in context. | +| `globalFlaggingMode` | [Components\ProjectWithKeyGlobalFlaggingMode](../../Models/Components/ProjectWithKeyGlobalFlaggingMode.md) | :heavy_check_mark: | `ACTIVE` flags content. `DRY_RUN` evaluates content without flagging it, for testing a setup. | +| `enableRequestLogging` | *bool* | :heavy_check_mark: | Whether moderated content is stored and shown in the dashboard. | +| `casebookEnabled` | *bool* | :heavy_check_mark: | Whether decisions made in the review queue are recorded in the project's casebook. | +| `createdAt` | *string* | :heavy_check_mark: | When the project was created. | +| `updatedAt` | *string* | :heavy_check_mark: | When the project was last changed. | +| `secretKey` | *string* | :heavy_check_mark: | A secret API key for the new project. Use it to moderate content in this project. It is also shown in the project's settings. | \ No newline at end of file diff --git a/docs/Models/Components/ProjectWithKeyGlobalFlaggingMode.md b/docs/Models/Components/ProjectWithKeyGlobalFlaggingMode.md new file mode 100644 index 0000000..0220400 --- /dev/null +++ b/docs/Models/Components/ProjectWithKeyGlobalFlaggingMode.md @@ -0,0 +1,11 @@ +# ProjectWithKeyGlobalFlaggingMode + +`ACTIVE` flags content. `DRY_RUN` evaluates content without flagging it, for testing a setup. + + +## Values + +| Name | Value | +| -------- | -------- | +| `DryRun` | DRY_RUN | +| `Active` | ACTIVE | \ No newline at end of file diff --git a/docs/Models/Components/PublicAuthor.md b/docs/Models/Components/PublicAuthor.md new file mode 100644 index 0000000..e496601 --- /dev/null +++ b/docs/Models/Components/PublicAuthor.md @@ -0,0 +1,23 @@ +# PublicAuthor + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Author ID in Moderation API | +| `externalId` | *?string* | :heavy_minus_sign: | The author's ID from your system | +| `profilePicture` | *?string* | :heavy_minus_sign: | URL of the author's profile picture | +| `externalLink` | *?string* | :heavy_minus_sign: | URL of the author's external profile | +| `name` | *?string* | :heavy_minus_sign: | Author name or identifier | +| `email` | *?string* | :heavy_minus_sign: | Author email address | +| `company` | *?string* | :heavy_minus_sign: | The author's company or organization | +| `firstSeen` | *float* | :heavy_check_mark: | Timestamp when author first appeared | +| `lastSeen` | *float* | :heavy_check_mark: | Timestamp of last activity | +| `lastIncident` | *?float* | :heavy_minus_sign: | Timestamp of last incident | +| `status` | [Components\Status](../../Models/Components/Status.md) | :heavy_check_mark: | Current author status | +| `trustLevel` | [Components\TrustLevel](../../Models/Components/TrustLevel.md) | :heavy_check_mark: | N/A | +| `block` | [Components\Block](../../Models/Components/Block.md) | :heavy_check_mark: | Block or suspension details, if applicable. Null if the author is enabled. | +| `riskEvaluation` | [Components\RiskEvaluation](../../Models/Components/RiskEvaluation.md) | :heavy_check_mark: | Risk assessment details, if available. | +| `metrics` | [Components\Metrics](../../Models/Components/Metrics.md) | :heavy_check_mark: | N/A | +| `metadata` | [Components\Metadata](../../Models/Components/Metadata.md) | :heavy_check_mark: | Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. | \ No newline at end of file diff --git a/docs/Models/Components/RateLimitErrorCode.md b/docs/Models/Components/RateLimitErrorCode.md new file mode 100644 index 0000000..3706f5c --- /dev/null +++ b/docs/Models/Components/RateLimitErrorCode.md @@ -0,0 +1,12 @@ +# RateLimitErrorCode + +Exactly what went wrong. Stable; safe to branch on. New codes may be added. + +- `rate_limit_exceeded`: Too many requests. Wait for the `Retry-After` seconds. + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `RateLimitExceeded` | rate_limit_exceeded | \ No newline at end of file diff --git a/docs/Models/Components/RiskEvaluation.md b/docs/Models/Components/RiskEvaluation.md new file mode 100644 index 0000000..3a5cb04 --- /dev/null +++ b/docs/Models/Components/RiskEvaluation.md @@ -0,0 +1,8 @@ +# RiskEvaluation + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `riskLevel` | *?float* | :heavy_minus_sign: | Calculated risk level based on more than 10 behavioral signals. | \ No newline at end of file diff --git a/docs/Models/Components/Security.md b/docs/Models/Components/Security.md new file mode 100644 index 0000000..e1d6980 --- /dev/null +++ b/docs/Models/Components/Security.md @@ -0,0 +1,8 @@ +# Security + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `secretKey` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/Status.md b/docs/Models/Components/Status.md new file mode 100644 index 0000000..650b4d9 --- /dev/null +++ b/docs/Models/Components/Status.md @@ -0,0 +1,12 @@ +# Status + +Current author status + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Enabled` | enabled | +| `Suspended` | suspended | +| `Blocked` | blocked | \ No newline at end of file diff --git a/docs/Models/Components/TranscriptionQuality.md b/docs/Models/Components/TranscriptionQuality.md new file mode 100644 index 0000000..0ccfb34 --- /dev/null +++ b/docs/Models/Components/TranscriptionQuality.md @@ -0,0 +1,12 @@ +# TranscriptionQuality + +Trade-off between transcription speed and accuracy. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Speed` | SPEED | +| `Balanced` | BALANCED | +| `Accuracy` | ACCURACY | \ No newline at end of file diff --git a/docs/Models/Components/TrustLevel.md b/docs/Models/Components/TrustLevel.md new file mode 100644 index 0000000..363851b --- /dev/null +++ b/docs/Models/Components/TrustLevel.md @@ -0,0 +1,9 @@ +# TrustLevel + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `level` | *float* | :heavy_check_mark: | Author trust level (-1, 0, 1, 2, 3, or 4) | +| `manual` | *bool* | :heavy_check_mark: | True if the trust level was set manually by a moderator | \ No newline at end of file diff --git a/docs/Models/Errors/AuthenticationError.md b/docs/Models/Errors/AuthenticationError.md new file mode 100644 index 0000000..534054d --- /dev/null +++ b/docs/Models/Errors/AuthenticationError.md @@ -0,0 +1,16 @@ +# AuthenticationError + +The API key is missing, invalid or revoked. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | Broad error category. Stable; safe to switch on. | | +| `code` | [Components\AuthenticationErrorCode](../../Models/Components/AuthenticationErrorCode.md) | :heavy_check_mark: | Exactly what went wrong. Stable; safe to branch on. New codes may be added.

- `unauthorized`: Authentication failed.
- `missing_api_key`: No API key in the `Authorization` header.
- `malformed_api_key`: The `Authorization` header does not contain a valid key format.
- `invalid_api_key`: The API key does not exist or was revoked. | unauthorized | +| `message` | *string* | :heavy_check_mark: | Human-readable explanation. | Authorization not provided | +| `issues` | array<[Components\ErrorIssue](../../Models/Components/ErrorIssue.md)> | :heavy_minus_sign: | Validation problems, when the request body is invalid. | | +| `requestId` | *string* | :heavy_check_mark: | Identifies this request. Include it when you contact support. | h8fkz6kkzoa446ffve37atys | +| `docUrl` | *string* | :heavy_check_mark: | Documentation for this `code`. | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/BadRequestError.md b/docs/Models/Errors/BadRequestError.md new file mode 100644 index 0000000..4d91d0a --- /dev/null +++ b/docs/Models/Errors/BadRequestError.md @@ -0,0 +1,16 @@ +# BadRequestError + +The request is malformed or a parameter is invalid. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | Broad error category. Stable; safe to switch on. | | +| `code` | [Components\BadRequestErrorCode](../../Models/Components/BadRequestErrorCode.md) | :heavy_check_mark: | Exactly what went wrong. Stable; safe to branch on. New codes may be added.

- `invalid_request`: A parameter is invalid. `message` says which one.
- `validation_failed`: The request body does not match the schema. `issues` lists each problem with its `path`. | invalid_request | +| `message` | *string* | :heavy_check_mark: | Human-readable explanation. | Invalid input data | +| `issues` | array<[Components\ErrorIssue](../../Models/Components/ErrorIssue.md)> | :heavy_minus_sign: | Validation problems, when the request body is invalid. | | +| `requestId` | *string* | :heavy_check_mark: | Identifies this request. Include it when you contact support. | h8fkz6kkzoa446ffve37atys | +| `docUrl` | *string* | :heavy_check_mark: | Documentation for this `code`. | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/ConflictError.md b/docs/Models/Errors/ConflictError.md new file mode 100644 index 0000000..b843ac5 --- /dev/null +++ b/docs/Models/Errors/ConflictError.md @@ -0,0 +1,16 @@ +# ConflictError + +The request conflicts with the current state of a resource. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | Broad error category. Stable; safe to switch on. | | +| `code` | [Components\ConflictErrorCode](../../Models/Components/ConflictErrorCode.md) | :heavy_check_mark: | Exactly what went wrong. Stable; safe to branch on. New codes may be added.

- `resource_conflict`: The request conflicts with an existing resource. | resource_conflict | +| `message` | *string* | :heavy_check_mark: | Human-readable explanation. | Action with this key already exists | +| `issues` | array<[Components\ErrorIssue](../../Models/Components/ErrorIssue.md)> | :heavy_minus_sign: | Validation problems, when the request body is invalid. | | +| `requestId` | *string* | :heavy_check_mark: | Identifies this request. Include it when you contact support. | h8fkz6kkzoa446ffve37atys | +| `docUrl` | *string* | :heavy_check_mark: | Documentation for this `code`. | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/InternalServerError.md b/docs/Models/Errors/InternalServerError.md new file mode 100644 index 0000000..7a03fbb --- /dev/null +++ b/docs/Models/Errors/InternalServerError.md @@ -0,0 +1,16 @@ +# InternalServerError + +Something went wrong on our side. Retry with backoff. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | Broad error category. Stable; safe to switch on. | | +| `code` | [Components\InternalServerErrorCode](../../Models/Components/InternalServerErrorCode.md) | :heavy_check_mark: | Exactly what went wrong. Stable; safe to branch on. New codes may be added.

- `internal_error`: Something went wrong on our side. Retry with backoff. | internal_error | +| `message` | *string* | :heavy_check_mark: | Human-readable explanation. | Internal server error | +| `issues` | array<[Components\ErrorIssue](../../Models/Components/ErrorIssue.md)> | :heavy_minus_sign: | Validation problems, when the request body is invalid. | | +| `requestId` | *string* | :heavy_check_mark: | Identifies this request. Include it when you contact support. | h8fkz6kkzoa446ffve37atys | +| `docUrl` | *string* | :heavy_check_mark: | Documentation for this `code`. | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/NotFoundError.md b/docs/Models/Errors/NotFoundError.md new file mode 100644 index 0000000..31efd8f --- /dev/null +++ b/docs/Models/Errors/NotFoundError.md @@ -0,0 +1,16 @@ +# NotFoundError + +The resource does not exist or the key cannot see it. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | Broad error category. Stable; safe to switch on. | | +| `code` | [Components\NotFoundErrorCode](../../Models/Components/NotFoundErrorCode.md) | :heavy_check_mark: | Exactly what went wrong. Stable; safe to branch on. New codes may be added.

- `resource_not_found`: The resource does not exist.
- `action_not_found`: The action does not exist.
- `author_not_found`: The author does not exist.
- `queue_not_found`: The review queue does not exist.
- `wordlist_not_found`: The wordlist does not exist.
- `webhook_not_found`: The webhook does not exist.
- `project_not_found`: The project does not exist.
- `channel_not_found`: The channel does not exist. | resource_not_found | +| `message` | *string* | :heavy_check_mark: | Human-readable explanation. | Not found | +| `issues` | array<[Components\ErrorIssue](../../Models/Components/ErrorIssue.md)> | :heavy_minus_sign: | Validation problems, when the request body is invalid. | | +| `requestId` | *string* | :heavy_check_mark: | Identifies this request. Include it when you contact support. | h8fkz6kkzoa446ffve37atys | +| `docUrl` | *string* | :heavy_check_mark: | Documentation for this `code`. | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/PermissionDeniedError.md b/docs/Models/Errors/PermissionDeniedError.md new file mode 100644 index 0000000..7ce9cee --- /dev/null +++ b/docs/Models/Errors/PermissionDeniedError.md @@ -0,0 +1,16 @@ +# PermissionDeniedError + +The API key cannot do this, or the plan limit for this resource is reached. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | Broad error category. Stable; safe to switch on. | | +| `code` | [Components\PermissionDeniedErrorCode](../../Models/Components/PermissionDeniedErrorCode.md) | :heavy_check_mark: | Exactly what went wrong. Stable; safe to branch on. New codes may be added.

- `permission_denied`: The API key cannot perform this request.
- `account_disabled`: The organization account is disabled.
- `quota_exceeded`: The organization has used all API requests on its plan.
- `plan_feature_unavailable`: The current plan does not include this feature.
- `plan_limit_exceeded`: The request goes over a limit of the current plan.
- `project_key_required`: This endpoint needs a project API key, but an organization key was used.
- `organization_key_required`: This endpoint needs an organization API key, but a project key was used.
- `missing_key_permission`: The organization key does not have the permission this endpoint needs.
- `project_not_reachable`: The organization key is limited to other projects. | permission_denied | +| `message` | *string* | :heavy_check_mark: | Human-readable explanation. | Insufficient access | +| `issues` | array<[Components\ErrorIssue](../../Models/Components/ErrorIssue.md)> | :heavy_minus_sign: | Validation problems, when the request body is invalid. | | +| `requestId` | *string* | :heavy_check_mark: | Identifies this request. Include it when you contact support. | h8fkz6kkzoa446ffve37atys | +| `docUrl` | *string* | :heavy_check_mark: | Documentation for this `code`. | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/RateLimitError.md b/docs/Models/Errors/RateLimitError.md new file mode 100644 index 0000000..6d4e190 --- /dev/null +++ b/docs/Models/Errors/RateLimitError.md @@ -0,0 +1,16 @@ +# RateLimitError + +Too many requests. Retry after the number of seconds in the `Retry-After` header. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | Broad error category. Stable; safe to switch on. | | +| `code` | [Components\RateLimitErrorCode](../../Models/Components/RateLimitErrorCode.md) | :heavy_check_mark: | Exactly what went wrong. Stable; safe to branch on. New codes may be added.

- `rate_limit_exceeded`: Too many requests. Wait for the `Retry-After` seconds. | rate_limit_exceeded | +| `message` | *string* | :heavy_check_mark: | Human-readable explanation. | Rate limit exceeded | +| `issues` | array<[Components\ErrorIssue](../../Models/Components/ErrorIssue.md)> | :heavy_minus_sign: | Validation problems, when the request body is invalid. | | +| `requestId` | *string* | :heavy_check_mark: | Identifies this request. Include it when you contact support. | h8fkz6kkzoa446ffve37atys | +| `docUrl` | *string* | :heavy_check_mark: | Documentation for this `code`. | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Operations/ActionRequest.md b/docs/Models/Operations/ActionRequest.md new file mode 100644 index 0000000..322c017 --- /dev/null +++ b/docs/Models/Operations/ActionRequest.md @@ -0,0 +1,12 @@ +# ActionRequest + +Your recommendation for the content: allow, review, or reject. + + +## Values + +| Name | Value | +| -------- | -------- | +| `Review` | review | +| `Allow` | allow | +| `Reject` | reject | \ No newline at end of file diff --git a/docs/Models/Operations/ActionStat.md b/docs/Models/Operations/ActionStat.md new file mode 100644 index 0000000..048633c --- /dev/null +++ b/docs/Models/Operations/ActionStat.md @@ -0,0 +1,11 @@ +# ActionStat + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `actionId` | *string* | :heavy_check_mark: | ID of the moderation action | +| `actionName` | *string* | :heavy_check_mark: | Name of the moderation action | +| `count` | *float* | :heavy_check_mark: | Number of times this action was taken | +| `percentageOfTotal` | *float* | :heavy_check_mark: | Percentage this action represents of all actions | \ No newline at end of file diff --git a/docs/Models/Operations/AddWordlistWordsRequest.md b/docs/Models/Operations/AddWordlistWordsRequest.md new file mode 100644 index 0000000..c926c5e --- /dev/null +++ b/docs/Models/Operations/AddWordlistWordsRequest.md @@ -0,0 +1,9 @@ +# AddWordlistWordsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to add words to | +| `body` | [Operations\AddWordlistWordsRequestBody](../../Models/Operations/AddWordlistWordsRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/AddWordlistWordsRequestBody.md b/docs/Models/Operations/AddWordlistWordsRequestBody.md new file mode 100644 index 0000000..569124d --- /dev/null +++ b/docs/Models/Operations/AddWordlistWordsRequestBody.md @@ -0,0 +1,8 @@ +# AddWordlistWordsRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `words` | array<*string*> | :heavy_check_mark: | Array of words to add to the wordlist. Duplicate words will be ignored. | \ No newline at end of file diff --git a/docs/Models/Operations/AddWordlistWordsResponse.md b/docs/Models/Operations/AddWordlistWordsResponse.md new file mode 100644 index 0000000..91e56c0 --- /dev/null +++ b/docs/Models/Operations/AddWordlistWordsResponse.md @@ -0,0 +1,11 @@ +# AddWordlistWordsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\AddWordlistWordsResponseBody](../../Models/Operations/AddWordlistWordsResponseBody.md) | :heavy_minus_sign: | Words successfully added to wordlist | \ No newline at end of file diff --git a/docs/Models/Operations/AddWordlistWordsResponseBody.md b/docs/Models/Operations/AddWordlistWordsResponseBody.md new file mode 100644 index 0000000..3e5894d --- /dev/null +++ b/docs/Models/Operations/AddWordlistWordsResponseBody.md @@ -0,0 +1,12 @@ +# AddWordlistWordsResponseBody + +Words successfully added to wordlist + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `addedCount` | *float* | :heavy_check_mark: | Number of words added | +| `totalCount` | *float* | :heavy_check_mark: | Total number of words in wordlist | +| `addedWords` | array<*string*> | :heavy_check_mark: | List of words that were added | \ No newline at end of file diff --git a/docs/Models/Operations/Adult.md b/docs/Models/Operations/Adult.md new file mode 100644 index 0000000..c662106 --- /dev/null +++ b/docs/Models/Operations/Adult.md @@ -0,0 +1,10 @@ +# Adult + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Alcohol.md b/docs/Models/Operations/Alcohol.md new file mode 100644 index 0000000..dce075a --- /dev/null +++ b/docs/Models/Operations/Alcohol.md @@ -0,0 +1,10 @@ +# Alcohol + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/AudioRequest.md b/docs/Models/Operations/AudioRequest.md new file mode 100644 index 0000000..1540697 --- /dev/null +++ b/docs/Models/Operations/AudioRequest.md @@ -0,0 +1,11 @@ +# AudioRequest + +Audio + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *string* | :heavy_check_mark: | The URL of the audio content | \ No newline at end of file diff --git a/docs/Models/Operations/AudioResponse.md b/docs/Models/Operations/AudioResponse.md new file mode 100644 index 0000000..c8fbb55 --- /dev/null +++ b/docs/Models/Operations/AudioResponse.md @@ -0,0 +1,11 @@ +# AudioResponse + +Audio + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *string* | :heavy_check_mark: | The URL of the audio content | \ No newline at end of file diff --git a/docs/Models/Operations/Author.md b/docs/Models/Operations/Author.md new file mode 100644 index 0000000..44c877d --- /dev/null +++ b/docs/Models/Operations/Author.md @@ -0,0 +1,12 @@ +# Author + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Author ID in Moderation API | +| `externalId` | *?string* | :heavy_minus_sign: | The author's ID from your system | +| `block` | [Operations\Block](../../Models/Operations/Block.md) | :heavy_check_mark: | Block or suspension details, if applicable. Null if the author is enabled. | +| `status` | [Operations\AuthorStatus](../../Models/Operations/AuthorStatus.md) | :heavy_check_mark: | Current author status | +| `trustLevel` | [Operations\TrustLevel](../../Models/Operations/TrustLevel.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/AuthorStatus.md b/docs/Models/Operations/AuthorStatus.md new file mode 100644 index 0000000..8c62f60 --- /dev/null +++ b/docs/Models/Operations/AuthorStatus.md @@ -0,0 +1,12 @@ +# AuthorStatus + +Current author status + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Enabled` | enabled | +| `Suspended` | suspended | +| `Blocked` | blocked | \ No newline at end of file diff --git a/docs/Models/Operations/Behavior.md b/docs/Models/Operations/Behavior.md new file mode 100644 index 0000000..aa1556a --- /dev/null +++ b/docs/Models/Operations/Behavior.md @@ -0,0 +1,11 @@ +# Behavior + +How your recommendation combines with ours. Defaults to 'escalate', which only applies it when stricter than ours; 'override' replaces ours outright. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Override` | override | +| `Escalate` | escalate | \ No newline at end of file diff --git a/docs/Models/Operations/Block.md b/docs/Models/Operations/Block.md new file mode 100644 index 0000000..e7a242f --- /dev/null +++ b/docs/Models/Operations/Block.md @@ -0,0 +1,9 @@ +# Block + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `until` | *?float* | :heavy_minus_sign: | The timestamp until which they are blocked if the author is suspended. | +| `reason` | *?string* | :heavy_minus_sign: | The moderators reason why the author was blocked or suspended. | \ No newline at end of file diff --git a/docs/Models/Operations/BrandImpersonation.md b/docs/Models/Operations/BrandImpersonation.md new file mode 100644 index 0000000..7dfcb54 --- /dev/null +++ b/docs/Models/Operations/BrandImpersonation.md @@ -0,0 +1,9 @@ +# BrandImpersonation + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `brand` | *string* | :heavy_check_mark: | N/A | +| `method` | [Operations\Method](../../Models/Operations/Method.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Cannabis.md b/docs/Models/Operations/Cannabis.md new file mode 100644 index 0000000..e9f9005 --- /dev/null +++ b/docs/Models/Operations/Cannabis.md @@ -0,0 +1,10 @@ +# Cannabis + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Casebook.md b/docs/Models/Operations/Casebook.md new file mode 100644 index 0000000..9218a72 --- /dev/null +++ b/docs/Models/Operations/Casebook.md @@ -0,0 +1,13 @@ +# Casebook + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `verdict` | [Operations\Verdict](../../Models/Operations/Verdict.md) | :heavy_check_mark: | The ruling your past decisions point to for this content. | +| `similarity` | *float* | :heavy_check_mark: | How close the nearest matching case is, from 0 to 1. 1 means the content is identical to something you have already decided. | +| `agreement` | *float* | :heavy_check_mark: | How unanimous the matching cases are, from 0 to 1: the share of them that decided this way, ignoring how many there are. Always at least 0.8 when a ruling is returned — below that the casebook reports a disagreement instead of picking a side — so it tells you how clean the consensus was, and is not a threshold to re-apply yourself. | +| `confidence` | *float* | :heavy_check_mark: | How strongly the casebook holds this ruling, from 0 to 1: the agreement scaled by how much evidence backs it, so a handful of close, recent cases outweighs one distant one. Older cases count for less, halving in weight roughly every 180 days. This is the number to use in rules when you want a strength condition. | +| `caseCount` | *float* | :heavy_check_mark: | How many of your past cases backed this ruling. | +| `topic` | [Operations\Topic](../../Models/Operations/Topic.md) | :heavy_check_mark: | The topic the closest matching case is filed under, or null when it has not been grouped into one yet. | \ No newline at end of file diff --git a/docs/Models/Operations/CasebookAgreement.md b/docs/Models/Operations/CasebookAgreement.md new file mode 100644 index 0000000..ac73a1e --- /dev/null +++ b/docs/Models/Operations/CasebookAgreement.md @@ -0,0 +1,10 @@ +# CasebookAgreement + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `All` | ALL | +| `Overruled` | OVERRULED | +| `Agreed` | AGREED | \ No newline at end of file diff --git a/docs/Models/Operations/CasebookAnswer.md b/docs/Models/Operations/CasebookAnswer.md new file mode 100644 index 0000000..e554e1e --- /dev/null +++ b/docs/Models/Operations/CasebookAnswer.md @@ -0,0 +1,11 @@ +# CasebookAnswer + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `All` | ALL | +| `Allowed` | ALLOWED | +| `Rejected` | REJECTED | +| `NoAnswer` | NO_ANSWER | \ No newline at end of file diff --git a/docs/Models/Operations/ChannelCircumvention.md b/docs/Models/Operations/ChannelCircumvention.md new file mode 100644 index 0000000..26ad4dc --- /dev/null +++ b/docs/Models/Operations/ChannelCircumvention.md @@ -0,0 +1,10 @@ +# ChannelCircumvention + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CheckStatus.md b/docs/Models/Operations/CheckStatus.md new file mode 100644 index 0000000..b922538 --- /dev/null +++ b/docs/Models/Operations/CheckStatus.md @@ -0,0 +1,10 @@ +# CheckStatus + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `All` | all | +| `Checked` | checked | +| `Unchecked` | unchecked | \ No newline at end of file diff --git a/docs/Models/Operations/ClassifierOutput.md b/docs/Models/Operations/ClassifierOutput.md new file mode 100644 index 0000000..e65e886 --- /dev/null +++ b/docs/Models/Operations/ClassifierOutput.md @@ -0,0 +1,16 @@ +# ClassifierOutput + +Classifier policy. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The unique identifier for the classifier output. | +| `type` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `flagged` | *bool* | :heavy_check_mark: | N/A | +| `flaggedFields` | array<*string*> | :heavy_minus_sign: | The keys of the flagged fields if submitting an object. | +| `labels` | array<[Operations\SubmitContentLabel](../../Models/Operations/SubmitContentLabel.md)> | :heavy_minus_sign: | N/A | +| `data` | array | :heavy_minus_sign: | Optional structured data produced by the policy. For face detection: { count, faces: [{ confidence, gender, age }] }. | \ No newline at end of file diff --git a/docs/Models/Operations/ClientAction.md b/docs/Models/Operations/ClientAction.md new file mode 100644 index 0000000..c19fbd6 --- /dev/null +++ b/docs/Models/Operations/ClientAction.md @@ -0,0 +1,13 @@ +# ClientAction + +A recommendation from your own client-side flagging (e.g. a banned-IP list or a third-party tool). Feeds the rules engine and can escalate or override the recommended action. Does not change whether our analysis flagged the content. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| `action` | [Operations\ActionRequest](../../Models/Operations/ActionRequest.md) | :heavy_check_mark: | Your recommendation for the content: allow, review, or reject. | +| `behavior` | [?Operations\Behavior](../../Models/Operations/Behavior.md) | :heavy_minus_sign: | How your recommendation combines with ours. Defaults to 'escalate', which only applies it when stricter than ours; 'override' replaces ours outright. | +| `source` | *?string* | :heavy_minus_sign: | Where your recommendation came from, e.g. "banned-ip". | +| `reason` | *?string* | :heavy_minus_sign: | A human-readable explanation for your recommendation. | \ No newline at end of file diff --git a/docs/Models/Operations/CodeAbuse.md b/docs/Models/Operations/CodeAbuse.md new file mode 100644 index 0000000..a13108f --- /dev/null +++ b/docs/Models/Operations/CodeAbuse.md @@ -0,0 +1,10 @@ +# CodeAbuse + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Comparator.md b/docs/Models/Operations/Comparator.md new file mode 100644 index 0000000..707a557 --- /dev/null +++ b/docs/Models/Operations/Comparator.md @@ -0,0 +1,11 @@ +# Comparator + +Flag images that contain "at least" or "fewer than" the configured number of faces. Defaults to at_least. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `AtLeast` | at_least | +| `FewerThan` | fewer_than | \ No newline at end of file diff --git a/docs/Models/Operations/CompassionInsight.md b/docs/Models/Operations/CompassionInsight.md new file mode 100644 index 0000000..a336de7 --- /dev/null +++ b/docs/Models/Operations/CompassionInsight.md @@ -0,0 +1,13 @@ +# CompassionInsight + +Compassion insight. Identifies with or shows concern, empathy, or support for the feelings/emotions of others. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `type` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `value` | *bool* | :heavy_check_mark: | Whether the content shows compassion. | \ No newline at end of file diff --git a/docs/Models/Operations/ContentLeafRequest.md b/docs/Models/Operations/ContentLeafRequest.md new file mode 100644 index 0000000..fffff30 --- /dev/null +++ b/docs/Models/Operations/ContentLeafRequest.md @@ -0,0 +1,41 @@ +# ContentLeafRequest + + +## Supported Types + +### `Operations\DataText` + +```php +/** +* @var \ModerationApi\Models\Operations\DataText +*/ +Operations\DataText $value = /* values here */ +``` + +### `Operations\DataImage` + +```php +/** +* @var \ModerationApi\Models\Operations\DataImage +*/ +Operations\DataImage $value = /* values here */ +``` + +### `Operations\DataVideo` + +```php +/** +* @var \ModerationApi\Models\Operations\DataVideo +*/ +Operations\DataVideo $value = /* values here */ +``` + +### `Operations\DataAudio` + +```php +/** +* @var \ModerationApi\Models\Operations\DataAudio +*/ +Operations\DataAudio $value = /* values here */ +``` + diff --git a/docs/Models/Operations/ContentLeafResponse.md b/docs/Models/Operations/ContentLeafResponse.md new file mode 100644 index 0000000..da31468 --- /dev/null +++ b/docs/Models/Operations/ContentLeafResponse.md @@ -0,0 +1,41 @@ +# ContentLeafResponse + + +## Supported Types + +### `Operations\TextResponse` + +```php +/** +* @var \ModerationApi\Models\Operations\TextResponse +*/ +Operations\TextResponse $value = /* values here */ +``` + +### `Operations\ImageResponse` + +```php +/** +* @var \ModerationApi\Models\Operations\ImageResponse +*/ +Operations\ImageResponse $value = /* values here */ +``` + +### `Operations\VideoResponse` + +```php +/** +* @var \ModerationApi\Models\Operations\VideoResponse +*/ +Operations\VideoResponse $value = /* values here */ +``` + +### `Operations\AudioResponse` + +```php +/** +* @var \ModerationApi\Models\Operations\AudioResponse +*/ +Operations\AudioResponse $value = /* values here */ +``` + diff --git a/docs/Models/Operations/ContentRequest.md b/docs/Models/Operations/ContentRequest.md new file mode 100644 index 0000000..7acd790 --- /dev/null +++ b/docs/Models/Operations/ContentRequest.md @@ -0,0 +1,52 @@ +# ContentRequest + +The content sent for moderation + + +## Supported Types + +### `Operations\TextRequest` + +```php +/** +* @var \ModerationApi\Models\Operations\TextRequest +*/ +Operations\TextRequest $value = /* values here */ +``` + +### `Operations\ImageRequest` + +```php +/** +* @var \ModerationApi\Models\Operations\ImageRequest +*/ +Operations\ImageRequest $value = /* values here */ +``` + +### `Operations\VideoRequest` + +```php +/** +* @var \ModerationApi\Models\Operations\VideoRequest +*/ +Operations\VideoRequest $value = /* values here */ +``` + +### `Operations\AudioRequest` + +```php +/** +* @var \ModerationApi\Models\Operations\AudioRequest +*/ +Operations\AudioRequest $value = /* values here */ +``` + +### `Operations\ObjectT` + +```php +/** +* @var \ModerationApi\Models\Operations\ObjectT +*/ +Operations\ObjectT $value = /* values here */ +``` + diff --git a/docs/Models/Operations/ContentResponse.md b/docs/Models/Operations/ContentResponse.md new file mode 100644 index 0000000..9ed6f10 --- /dev/null +++ b/docs/Models/Operations/ContentResponse.md @@ -0,0 +1,14 @@ +# ContentResponse + +Potentially modified content. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The unique identifier for the content. Either the contentId provided by you or an autogenerated ID. | +| `masked` | *bool* | :heavy_check_mark: | Whether any values have been masked. | +| `unicodeCleaned` | *bool* | :heavy_check_mark: | Whether Unicode spoofing normalization rewrote the content — confusables folded to their Latin lookalikes, invisible characters and combining-mark abuse stripped. | +| `modified` | [string\|array](../../Models/Operations/Modified.md) | :heavy_check_mark: | The modified content, if any. | +| `transcript` | *?string* | :heavy_minus_sign: | The transcribed text from audio content. Only present when audio moderation is used and transcript inclusion is enabled on the channel. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionPositionRequest.md b/docs/Models/Operations/CreateActionPositionRequest.md new file mode 100644 index 0000000..5ce0d6a --- /dev/null +++ b/docs/Models/Operations/CreateActionPositionRequest.md @@ -0,0 +1,12 @@ +# CreateActionPositionRequest + +Show the action in all queues, selected queues or no queues (to use via API only). + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `AllQueues` | ALL_QUEUES | +| `SomeQueues` | SOME_QUEUES | +| `Hidden` | HIDDEN | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionPositionResponse.md b/docs/Models/Operations/CreateActionPositionResponse.md new file mode 100644 index 0000000..d7b79d8 --- /dev/null +++ b/docs/Models/Operations/CreateActionPositionResponse.md @@ -0,0 +1,12 @@ +# CreateActionPositionResponse + +Show the action in all queues, selected queues or no queues (to use via API only). + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `AllQueues` | ALL_QUEUES | +| `SomeQueues` | SOME_QUEUES | +| `Hidden` | HIDDEN | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionPossibleValueRequest.md b/docs/Models/Operations/CreateActionPossibleValueRequest.md new file mode 100644 index 0000000..6253135 --- /dev/null +++ b/docs/Models/Operations/CreateActionPossibleValueRequest.md @@ -0,0 +1,8 @@ +# CreateActionPossibleValueRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `value` | *string* | :heavy_check_mark: | The value of the action. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionPossibleValueResponse.md b/docs/Models/Operations/CreateActionPossibleValueResponse.md new file mode 100644 index 0000000..dcaffc3 --- /dev/null +++ b/docs/Models/Operations/CreateActionPossibleValueResponse.md @@ -0,0 +1,8 @@ +# CreateActionPossibleValueResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `value` | *string* | :heavy_check_mark: | The value of the action. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionQueueBehaviourRequest.md b/docs/Models/Operations/CreateActionQueueBehaviourRequest.md new file mode 100644 index 0000000..ab6e7f4 --- /dev/null +++ b/docs/Models/Operations/CreateActionQueueBehaviourRequest.md @@ -0,0 +1,12 @@ +# CreateActionQueueBehaviourRequest + +Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Remove` | REMOVE | +| `Add` | ADD | +| `NoChange` | NO_CHANGE | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionQueueBehaviourResponse.md b/docs/Models/Operations/CreateActionQueueBehaviourResponse.md new file mode 100644 index 0000000..ae1ce50 --- /dev/null +++ b/docs/Models/Operations/CreateActionQueueBehaviourResponse.md @@ -0,0 +1,12 @@ +# CreateActionQueueBehaviourResponse + +Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Remove` | REMOVE | +| `Add` | ADD | +| `NoChange` | NO_CHANGE | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionRequest.md b/docs/Models/Operations/CreateActionRequest.md new file mode 100644 index 0000000..4a881ca --- /dev/null +++ b/docs/Models/Operations/CreateActionRequest.md @@ -0,0 +1,18 @@ +# CreateActionRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `key` | *?string* | :heavy_minus_sign: | User defined key of the action. | +| `name` | *string* | :heavy_check_mark: | The name of the action. | +| `description` | *?string* | :heavy_minus_sign: | The description of the action. | +| `type` | [?Operations\CreateActionTypeRequest](../../Models/Operations/CreateActionTypeRequest.md) | :heavy_minus_sign: | The type of the action. | +| `builtIn` | *?bool* | :heavy_minus_sign: | Whether the action is a built-in action or a custom one. | +| `queueBehaviour` | [?Operations\CreateActionQueueBehaviourRequest](../../Models/Operations/CreateActionQueueBehaviourRequest.md) | :heavy_minus_sign: | Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. | +| `filterInQueueIds` | array<*string*> | :heavy_minus_sign: | The IDs of the queues the action is available in. | +| `position` | [?Operations\CreateActionPositionRequest](../../Models/Operations/CreateActionPositionRequest.md) | :heavy_minus_sign: | Show the action in all queues, selected queues or no queues (to use via API only). | +| `possibleValues` | array<[Operations\CreateActionPossibleValueRequest](../../Models/Operations/CreateActionPossibleValueRequest.md)> | :heavy_minus_sign: | The possible values of the action. The user will be prompted to select one of these values when executing the action. | +| `valueRequired` | *?bool* | :heavy_minus_sign: | Whether the action requires a value to be executed. | +| `freeText` | *?bool* | :heavy_minus_sign: | Whether the action allows any text to be entered as a value or if it must be one of the possible values. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionResponse.md b/docs/Models/Operations/CreateActionResponse.md new file mode 100644 index 0000000..87bf791 --- /dev/null +++ b/docs/Models/Operations/CreateActionResponse.md @@ -0,0 +1,11 @@ +# CreateActionResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\CreateActionResponseBody](../../Models/Operations/CreateActionResponseBody.md) | :heavy_minus_sign: | Action created successfully | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionResponseBody.md b/docs/Models/Operations/CreateActionResponseBody.md new file mode 100644 index 0000000..519be7b --- /dev/null +++ b/docs/Models/Operations/CreateActionResponseBody.md @@ -0,0 +1,22 @@ +# CreateActionResponseBody + +Action created successfully + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action. | +| `key` | *?string* | :heavy_minus_sign: | User defined key of the action. | +| `createdAt` | *string* | :heavy_check_mark: | The date the action was created. | +| `name` | *string* | :heavy_check_mark: | The name of the action. | +| `description` | *?string* | :heavy_minus_sign: | The description of the action. | +| `type` | [?Operations\CreateActionTypeResponse](../../Models/Operations/CreateActionTypeResponse.md) | :heavy_minus_sign: | The type of the action. | +| `builtIn` | *?bool* | :heavy_minus_sign: | Whether the action is a built-in action or a custom one. | +| `queueBehaviour` | [?Operations\CreateActionQueueBehaviourResponse](../../Models/Operations/CreateActionQueueBehaviourResponse.md) | :heavy_minus_sign: | Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. | +| `filterInQueueIds` | array<*string*> | :heavy_check_mark: | The IDs of the queues the action is available in. | +| `position` | [?Operations\CreateActionPositionResponse](../../Models/Operations/CreateActionPositionResponse.md) | :heavy_minus_sign: | Show the action in all queues, selected queues or no queues (to use via API only). | +| `possibleValues` | array<[Operations\CreateActionPossibleValueResponse](../../Models/Operations/CreateActionPossibleValueResponse.md)> | :heavy_check_mark: | The possible values of the action. The user will be prompted to select one of these values when executing the action. | +| `valueRequired` | *?bool* | :heavy_minus_sign: | Whether the action requires a value to be executed. | +| `freeText` | *?bool* | :heavy_minus_sign: | Whether the action allows any text to be entered as a value or if it must be one of the possible values. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionTypeRequest.md b/docs/Models/Operations/CreateActionTypeRequest.md new file mode 100644 index 0000000..1352da8 --- /dev/null +++ b/docs/Models/Operations/CreateActionTypeRequest.md @@ -0,0 +1,17 @@ +# CreateActionTypeRequest + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `AuthorBlock` | AUTHOR_BLOCK | +| `AuthorBlockTemp` | AUTHOR_BLOCK_TEMP | +| `AuthorUnblock` | AUTHOR_UNBLOCK | +| `AuthorDelete` | AUTHOR_DELETE | +| `AuthorReport` | AUTHOR_REPORT | +| `AuthorWarn` | AUTHOR_WARN | +| `AuthorCustom` | AUTHOR_CUSTOM | +| `ItemReject` | ITEM_REJECT | +| `ItemAllow` | ITEM_ALLOW | +| `ItemCustom` | ITEM_CUSTOM | \ No newline at end of file diff --git a/docs/Models/Operations/CreateActionTypeResponse.md b/docs/Models/Operations/CreateActionTypeResponse.md new file mode 100644 index 0000000..3112940 --- /dev/null +++ b/docs/Models/Operations/CreateActionTypeResponse.md @@ -0,0 +1,17 @@ +# CreateActionTypeResponse + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `AuthorBlock` | AUTHOR_BLOCK | +| `AuthorBlockTemp` | AUTHOR_BLOCK_TEMP | +| `AuthorUnblock` | AUTHOR_UNBLOCK | +| `AuthorDelete` | AUTHOR_DELETE | +| `AuthorReport` | AUTHOR_REPORT | +| `AuthorWarn` | AUTHOR_WARN | +| `AuthorCustom` | AUTHOR_CUSTOM | +| `ItemReject` | ITEM_REJECT | +| `ItemAllow` | ITEM_ALLOW | +| `ItemCustom` | ITEM_CUSTOM | \ No newline at end of file diff --git a/docs/Models/Operations/CreateAuthorMetadata.md b/docs/Models/Operations/CreateAuthorMetadata.md new file mode 100644 index 0000000..6af8931 --- /dev/null +++ b/docs/Models/Operations/CreateAuthorMetadata.md @@ -0,0 +1,14 @@ +# CreateAuthorMetadata + +Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `emailVerified` | *?bool* | :heavy_minus_sign: | Whether the author's email is verified | +| `phoneVerified` | *?bool* | :heavy_minus_sign: | Whether the author's phone number is verified | +| `identityVerified` | *?bool* | :heavy_minus_sign: | Whether the author's identity is verified | +| `isPayingCustomer` | *?bool* | :heavy_minus_sign: | Whether the author is a paying customer | +| `additionalProperties` | array | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CreateAuthorRequest.md b/docs/Models/Operations/CreateAuthorRequest.md new file mode 100644 index 0000000..7809b64 --- /dev/null +++ b/docs/Models/Operations/CreateAuthorRequest.md @@ -0,0 +1,17 @@ +# CreateAuthorRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `profilePicture` | *?string* | :heavy_minus_sign: | URL of the author's profile picture | +| `externalLink` | *?string* | :heavy_minus_sign: | URL of the author's external profile | +| `name` | *?string* | :heavy_minus_sign: | Author name or identifier | +| `email` | *?string* | :heavy_minus_sign: | Author email address | +| `company` | *?string* | :heavy_minus_sign: | The author's company or organization | +| `metadata` | [?Operations\CreateAuthorMetadata](../../Models/Operations/CreateAuthorMetadata.md) | :heavy_minus_sign: | Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. | +| `firstSeen` | *?float* | :heavy_minus_sign: | Timestamp when author first appeared | +| `lastSeen` | *?float* | :heavy_minus_sign: | Timestamp of last activity | +| `manualTrustLevel` | *?float* | :heavy_minus_sign: | N/A | +| `externalId` | *string* | :heavy_check_mark: | External ID of the user, typically the ID of the author in your database. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateAuthorResponse.md b/docs/Models/Operations/CreateAuthorResponse.md new file mode 100644 index 0000000..00976f9 --- /dev/null +++ b/docs/Models/Operations/CreateAuthorResponse.md @@ -0,0 +1,11 @@ +# CreateAuthorResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `publicAuthor` | [?Components\PublicAuthor](../../Models/Components/PublicAuthor.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/CreateChannelContentType.md b/docs/Models/Operations/CreateChannelContentType.md new file mode 100644 index 0000000..07fd142 --- /dev/null +++ b/docs/Models/Operations/CreateChannelContentType.md @@ -0,0 +1,18 @@ +# CreateChannelContentType + +The kind of content the channel moderates. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Profile` | profile | +| `Message` | message | +| `Post` | post | +| `Comment` | comment | +| `Event` | event | +| `Product` | product | +| `Review` | review | +| `Voice` | voice | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Operations/CreateChannelRequest.md b/docs/Models/Operations/CreateChannelRequest.md new file mode 100644 index 0000000..2a9514a --- /dev/null +++ b/docs/Models/Operations/CreateChannelRequest.md @@ -0,0 +1,9 @@ +# CreateChannelRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `projectId` | *string* | :heavy_check_mark: | The ID of the project to add the channel to. | +| `body` | [Operations\CreateChannelRequestBody](../../Models/Operations/CreateChannelRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CreateChannelRequestBody.md b/docs/Models/Operations/CreateChannelRequestBody.md new file mode 100644 index 0000000..f971658 --- /dev/null +++ b/docs/Models/Operations/CreateChannelRequestBody.md @@ -0,0 +1,11 @@ +# CreateChannelRequestBody + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *string* | :heavy_check_mark: | The channel's name. | +| `key` | *?string* | :heavy_minus_sign: | The key you pass as `channel` when you moderate content. Defaults to the name in lowercase with dashes. Must be unique in the project. | +| `description` | *?string* | :heavy_minus_sign: | The channel's description. | +| `contentType` | [?Operations\CreateChannelContentType](../../Models/Operations/CreateChannelContentType.md) | :heavy_minus_sign: | The kind of content the channel moderates. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateChannelResponse.md b/docs/Models/Operations/CreateChannelResponse.md new file mode 100644 index 0000000..221b336 --- /dev/null +++ b/docs/Models/Operations/CreateChannelResponse.md @@ -0,0 +1,11 @@ +# CreateChannelResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `channel` | [?Components\Channel](../../Models/Components/Channel.md) | :heavy_minus_sign: | Channel created successfully | \ No newline at end of file diff --git a/docs/Models/Operations/CreateProjectRequest.md b/docs/Models/Operations/CreateProjectRequest.md new file mode 100644 index 0000000..5826198 --- /dev/null +++ b/docs/Models/Operations/CreateProjectRequest.md @@ -0,0 +1,12 @@ +# CreateProjectRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `name` | *string* | :heavy_check_mark: | The project's name. | +| `domain` | *?string* | :heavy_minus_sign: | The website or app the project moderates content for. Used to write the context when none is given. | +| `context` | *?string* | :heavy_minus_sign: | What the platform is and who uses it. | +| `brief` | *?string* | :heavy_minus_sign: | What you moderate, the problems you see and your guidelines. | +| `usedByMinors` | *?bool* | :heavy_minus_sign: | Whether children use the platform. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateProjectResponse.md b/docs/Models/Operations/CreateProjectResponse.md new file mode 100644 index 0000000..f0cd4fc --- /dev/null +++ b/docs/Models/Operations/CreateProjectResponse.md @@ -0,0 +1,11 @@ +# CreateProjectResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `projectWithKey` | [?Components\ProjectWithKey](../../Models/Components/ProjectWithKey.md) | :heavy_minus_sign: | Project created successfully | \ No newline at end of file diff --git a/docs/Models/Operations/CreateWebhookEventTypeRequest.md b/docs/Models/Operations/CreateWebhookEventTypeRequest.md new file mode 100644 index 0000000..5222782 --- /dev/null +++ b/docs/Models/Operations/CreateWebhookEventTypeRequest.md @@ -0,0 +1,18 @@ +# CreateWebhookEventTypeRequest + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `QueueItemNew` | QUEUE_ITEM_NEW | +| `QueueItemCompleted` | QUEUE_ITEM_COMPLETED | +| `QueueItemAction` | QUEUE_ITEM_ACTION | +| `QueueItemRejected` | QUEUE_ITEM_REJECTED | +| `QueueItemAllowed` | QUEUE_ITEM_ALLOWED | +| `AuthorBlocked` | AUTHOR_BLOCKED | +| `AuthorUnblocked` | AUTHOR_UNBLOCKED | +| `AuthorSuspended` | AUTHOR_SUSPENDED | +| `AuthorUpdated` | AUTHOR_UPDATED | +| `AuthorTrustLevelChanged` | AUTHOR_TRUST_LEVEL_CHANGED | +| `AuthorAction` | AUTHOR_ACTION | \ No newline at end of file diff --git a/docs/Models/Operations/CreateWebhookEventTypeResponse.md b/docs/Models/Operations/CreateWebhookEventTypeResponse.md new file mode 100644 index 0000000..5d5197d --- /dev/null +++ b/docs/Models/Operations/CreateWebhookEventTypeResponse.md @@ -0,0 +1,18 @@ +# CreateWebhookEventTypeResponse + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `QueueItemNew` | QUEUE_ITEM_NEW | +| `QueueItemCompleted` | QUEUE_ITEM_COMPLETED | +| `QueueItemAction` | QUEUE_ITEM_ACTION | +| `QueueItemRejected` | QUEUE_ITEM_REJECTED | +| `QueueItemAllowed` | QUEUE_ITEM_ALLOWED | +| `AuthorBlocked` | AUTHOR_BLOCKED | +| `AuthorUnblocked` | AUTHOR_UNBLOCKED | +| `AuthorSuspended` | AUTHOR_SUSPENDED | +| `AuthorUpdated` | AUTHOR_UPDATED | +| `AuthorTrustLevelChanged` | AUTHOR_TRUST_LEVEL_CHANGED | +| `AuthorAction` | AUTHOR_ACTION | \ No newline at end of file diff --git a/docs/Models/Operations/CreateWebhookPayloadVersion.md b/docs/Models/Operations/CreateWebhookPayloadVersion.md new file mode 100644 index 0000000..a88a683 --- /dev/null +++ b/docs/Models/Operations/CreateWebhookPayloadVersion.md @@ -0,0 +1,11 @@ +# CreateWebhookPayloadVersion + +Payload envelope version. V2 is the Stripe-style envelope; V1 is the legacy flat shape and is read-only via this API. + + +## Values + +| Name | Value | +| ----- | ----- | +| `V1` | V1 | +| `V2` | V2 | \ No newline at end of file diff --git a/docs/Models/Operations/CreateWebhookRequest.md b/docs/Models/Operations/CreateWebhookRequest.md new file mode 100644 index 0000000..ad9cb31 --- /dev/null +++ b/docs/Models/Operations/CreateWebhookRequest.md @@ -0,0 +1,11 @@ +# CreateWebhookRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `name` | *string* | :heavy_check_mark: | The webhook's name, used to identify it in the dashboard | +| `description` | *?string* | :heavy_minus_sign: | The webhook's description | +| `url` | *string* | :heavy_check_mark: | The webhook's URL. We'll call this URL when an event occurs. | +| `eventTypes` | array<[Operations\CreateWebhookEventTypeRequest](../../Models/Operations/CreateWebhookEventTypeRequest.md)> | :heavy_check_mark: | Event types this webhook subscribes to. One webhook URL receives all events you list here. | \ No newline at end of file diff --git a/docs/Models/Operations/CreateWebhookResponse.md b/docs/Models/Operations/CreateWebhookResponse.md new file mode 100644 index 0000000..74e1166 --- /dev/null +++ b/docs/Models/Operations/CreateWebhookResponse.md @@ -0,0 +1,11 @@ +# CreateWebhookResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\CreateWebhookResponseBody](../../Models/Operations/CreateWebhookResponseBody.md) | :heavy_minus_sign: | Webhook created successfully | \ No newline at end of file diff --git a/docs/Models/Operations/CreateWebhookResponseBody.md b/docs/Models/Operations/CreateWebhookResponseBody.md new file mode 100644 index 0000000..061ed14 --- /dev/null +++ b/docs/Models/Operations/CreateWebhookResponseBody.md @@ -0,0 +1,16 @@ +# CreateWebhookResponseBody + +Webhook created successfully + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook. | +| `name` | *string* | :heavy_check_mark: | The webhook's name. | +| `description` | *?string* | :heavy_minus_sign: | The webhook's description. | +| `url` | *string* | :heavy_check_mark: | The URL we call when a subscribed event occurs. | +| `eventTypes` | array<[Operations\CreateWebhookEventTypeResponse](../../Models/Operations/CreateWebhookEventTypeResponse.md)> | :heavy_check_mark: | Event types this webhook subscribes to. Empty for legacy v1 webhooks, which subscribe via their single deprecated `type` instead. | +| `payloadVersion` | [Operations\CreateWebhookPayloadVersion](../../Models/Operations/CreateWebhookPayloadVersion.md) | :heavy_check_mark: | Payload envelope version. V2 is the Stripe-style envelope; V1 is the legacy flat shape and is read-only via this API. | +| `createdAt` | *string* | :heavy_check_mark: | The date the webhook was created. | \ No newline at end of file diff --git a/docs/Models/Operations/Crypto.md b/docs/Models/Operations/Crypto.md new file mode 100644 index 0000000..b7061ec --- /dev/null +++ b/docs/Models/Operations/Crypto.md @@ -0,0 +1,10 @@ +# Crypto + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CuriosityInsight.md b/docs/Models/Operations/CuriosityInsight.md new file mode 100644 index 0000000..9214edf --- /dev/null +++ b/docs/Models/Operations/CuriosityInsight.md @@ -0,0 +1,13 @@ +# CuriosityInsight + +Curiosity insight. Attempts to clarify or ask follow-up questions to better understand another person or idea. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `id` | *string* | :heavy_check_mark: | N/A | +| `type` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `value` | *bool* | :heavy_check_mark: | Whether the content shows curiosity. | \ No newline at end of file diff --git a/docs/Models/Operations/CurrentProject.md b/docs/Models/Operations/CurrentProject.md new file mode 100644 index 0000000..d0cc95d --- /dev/null +++ b/docs/Models/Operations/CurrentProject.md @@ -0,0 +1,9 @@ +# CurrentProject + + +## Fields + +| Field | Type | Required | Description | +| --------------------------- | --------------------------- | --------------------------- | --------------------------- | +| `id` | *string* | :heavy_check_mark: | ID of the current project | +| `name` | *string* | :heavy_check_mark: | Name of the current project | \ No newline at end of file diff --git a/docs/Models/Operations/DailyReviewCount.md b/docs/Models/Operations/DailyReviewCount.md new file mode 100644 index 0000000..b67541b --- /dev/null +++ b/docs/Models/Operations/DailyReviewCount.md @@ -0,0 +1,9 @@ +# DailyReviewCount + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | +| `date` | *string* | :heavy_check_mark: | Date in YYYY-MM-DD format | +| `count` | *float* | :heavy_check_mark: | Number of reviews on this date | \ No newline at end of file diff --git a/docs/Models/Operations/DataAudio.md b/docs/Models/Operations/DataAudio.md new file mode 100644 index 0000000..5297e74 --- /dev/null +++ b/docs/Models/Operations/DataAudio.md @@ -0,0 +1,11 @@ +# DataAudio + +Audio + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *string* | :heavy_check_mark: | The URL of the audio content | \ No newline at end of file diff --git a/docs/Models/Operations/DataImage.md b/docs/Models/Operations/DataImage.md new file mode 100644 index 0000000..b6dc7ff --- /dev/null +++ b/docs/Models/Operations/DataImage.md @@ -0,0 +1,12 @@ +# DataImage + +Image + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *?string* | :heavy_minus_sign: | A public URL of the image content. Either url or data must be provided. | +| `data` | *?string* | :heavy_minus_sign: | Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. | \ No newline at end of file diff --git a/docs/Models/Operations/DataText.md b/docs/Models/Operations/DataText.md new file mode 100644 index 0000000..70f2b6a --- /dev/null +++ b/docs/Models/Operations/DataText.md @@ -0,0 +1,11 @@ +# DataText + +Text + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | +| `text` | *string* | :heavy_check_mark: | The content text | \ No newline at end of file diff --git a/docs/Models/Operations/DataVideo.md b/docs/Models/Operations/DataVideo.md new file mode 100644 index 0000000..a1f7f80 --- /dev/null +++ b/docs/Models/Operations/DataVideo.md @@ -0,0 +1,11 @@ +# DataVideo + +Video + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *string* | :heavy_check_mark: | A public URL of the video content | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteActionRequest.md b/docs/Models/Operations/DeleteActionRequest.md new file mode 100644 index 0000000..c783605 --- /dev/null +++ b/docs/Models/Operations/DeleteActionRequest.md @@ -0,0 +1,8 @@ +# DeleteActionRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action to delete. | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteActionResponse.md b/docs/Models/Operations/DeleteActionResponse.md new file mode 100644 index 0000000..df7e078 --- /dev/null +++ b/docs/Models/Operations/DeleteActionResponse.md @@ -0,0 +1,11 @@ +# DeleteActionResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\DeleteActionResponseBody](../../Models/Operations/DeleteActionResponseBody.md) | :heavy_minus_sign: | Action deleted successfully | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteActionResponseBody.md b/docs/Models/Operations/DeleteActionResponseBody.md new file mode 100644 index 0000000..d2d801d --- /dev/null +++ b/docs/Models/Operations/DeleteActionResponseBody.md @@ -0,0 +1,11 @@ +# DeleteActionResponseBody + +Action deleted successfully + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `deleted` | *bool* | :heavy_check_mark: | Whether the action was deleted. | +| `id` | *string* | :heavy_check_mark: | The ID of the action. | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteAuthorRequest.md b/docs/Models/Operations/DeleteAuthorRequest.md new file mode 100644 index 0000000..c8b4a2b --- /dev/null +++ b/docs/Models/Operations/DeleteAuthorRequest.md @@ -0,0 +1,8 @@ +# DeleteAuthorRequest + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Either external ID or the ID assigned by moderation API. | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteAuthorResponse.md b/docs/Models/Operations/DeleteAuthorResponse.md new file mode 100644 index 0000000..46b8bec --- /dev/null +++ b/docs/Models/Operations/DeleteAuthorResponse.md @@ -0,0 +1,11 @@ +# DeleteAuthorResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\DeleteAuthorResponseBody](../../Models/Operations/DeleteAuthorResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteAuthorResponseBody.md b/docs/Models/Operations/DeleteAuthorResponseBody.md new file mode 100644 index 0000000..cb0c872 --- /dev/null +++ b/docs/Models/Operations/DeleteAuthorResponseBody.md @@ -0,0 +1,10 @@ +# DeleteAuthorResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `success` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteChannelRequest.md b/docs/Models/Operations/DeleteChannelRequest.md new file mode 100644 index 0000000..2ba0f72 --- /dev/null +++ b/docs/Models/Operations/DeleteChannelRequest.md @@ -0,0 +1,8 @@ +# DeleteChannelRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the channel. | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteChannelResponse.md b/docs/Models/Operations/DeleteChannelResponse.md new file mode 100644 index 0000000..ae8c5d7 --- /dev/null +++ b/docs/Models/Operations/DeleteChannelResponse.md @@ -0,0 +1,11 @@ +# DeleteChannelResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\DeleteChannelResponseBody](../../Models/Operations/DeleteChannelResponseBody.md) | :heavy_minus_sign: | Channel deleted successfully | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteChannelResponseBody.md b/docs/Models/Operations/DeleteChannelResponseBody.md new file mode 100644 index 0000000..26f7b0a --- /dev/null +++ b/docs/Models/Operations/DeleteChannelResponseBody.md @@ -0,0 +1,11 @@ +# DeleteChannelResponseBody + +Channel deleted successfully + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `deleted` | *bool* | :heavy_check_mark: | Whether the channel was deleted. | +| `id` | *string* | :heavy_check_mark: | The ID of the channel. | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteProjectRequest.md b/docs/Models/Operations/DeleteProjectRequest.md new file mode 100644 index 0000000..ab8cca0 --- /dev/null +++ b/docs/Models/Operations/DeleteProjectRequest.md @@ -0,0 +1,8 @@ +# DeleteProjectRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the project. | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteProjectResponse.md b/docs/Models/Operations/DeleteProjectResponse.md new file mode 100644 index 0000000..392014e --- /dev/null +++ b/docs/Models/Operations/DeleteProjectResponse.md @@ -0,0 +1,11 @@ +# DeleteProjectResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\DeleteProjectResponseBody](../../Models/Operations/DeleteProjectResponseBody.md) | :heavy_minus_sign: | Project deleted successfully | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteProjectResponseBody.md b/docs/Models/Operations/DeleteProjectResponseBody.md new file mode 100644 index 0000000..1e1f31b --- /dev/null +++ b/docs/Models/Operations/DeleteProjectResponseBody.md @@ -0,0 +1,11 @@ +# DeleteProjectResponseBody + +Project deleted successfully + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `deleted` | *bool* | :heavy_check_mark: | Whether the project was deleted. | +| `id` | *string* | :heavy_check_mark: | The ID of the project. | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteWebhookRequest.md b/docs/Models/Operations/DeleteWebhookRequest.md new file mode 100644 index 0000000..3715d6a --- /dev/null +++ b/docs/Models/Operations/DeleteWebhookRequest.md @@ -0,0 +1,8 @@ +# DeleteWebhookRequest + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook to delete. | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteWebhookResponse.md b/docs/Models/Operations/DeleteWebhookResponse.md new file mode 100644 index 0000000..fe47ca0 --- /dev/null +++ b/docs/Models/Operations/DeleteWebhookResponse.md @@ -0,0 +1,11 @@ +# DeleteWebhookResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\DeleteWebhookResponseBody](../../Models/Operations/DeleteWebhookResponseBody.md) | :heavy_minus_sign: | Webhook deleted successfully | \ No newline at end of file diff --git a/docs/Models/Operations/DeleteWebhookResponseBody.md b/docs/Models/Operations/DeleteWebhookResponseBody.md new file mode 100644 index 0000000..d828465 --- /dev/null +++ b/docs/Models/Operations/DeleteWebhookResponseBody.md @@ -0,0 +1,11 @@ +# DeleteWebhookResponseBody + +Webhook deleted successfully + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `deleted` | *bool* | :heavy_check_mark: | Whether the webhook was deleted. | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook. | \ No newline at end of file diff --git a/docs/Models/Operations/Drugs.md b/docs/Models/Operations/Drugs.md new file mode 100644 index 0000000..9bfefe1 --- /dev/null +++ b/docs/Models/Operations/Drugs.md @@ -0,0 +1,10 @@ +# Drugs + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/DuplicateChannelRequest.md b/docs/Models/Operations/DuplicateChannelRequest.md new file mode 100644 index 0000000..6ad6e89 --- /dev/null +++ b/docs/Models/Operations/DuplicateChannelRequest.md @@ -0,0 +1,9 @@ +# DuplicateChannelRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the channel to copy. | +| `body` | [Operations\DuplicateChannelRequestBody](../../Models/Operations/DuplicateChannelRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/DuplicateChannelRequestBody.md b/docs/Models/Operations/DuplicateChannelRequestBody.md new file mode 100644 index 0000000..5ddcf79 --- /dev/null +++ b/docs/Models/Operations/DuplicateChannelRequestBody.md @@ -0,0 +1,9 @@ +# DuplicateChannelRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `name` | *?string* | :heavy_minus_sign: | Name of the copy. Defaults to the original name with "(copy)". | +| `key` | *?string* | :heavy_minus_sign: | Key of the copy. Defaults to the original key with a timestamp. Must be unique in the project. | \ No newline at end of file diff --git a/docs/Models/Operations/DuplicateChannelResponse.md b/docs/Models/Operations/DuplicateChannelResponse.md new file mode 100644 index 0000000..dca0b9b --- /dev/null +++ b/docs/Models/Operations/DuplicateChannelResponse.md @@ -0,0 +1,11 @@ +# DuplicateChannelResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `channel` | [?Components\Channel](../../Models/Components/Channel.md) | :heavy_minus_sign: | Channel duplicated successfully | \ No newline at end of file diff --git a/docs/Models/Operations/DuplicateProjectRequest.md b/docs/Models/Operations/DuplicateProjectRequest.md new file mode 100644 index 0000000..719edf6 --- /dev/null +++ b/docs/Models/Operations/DuplicateProjectRequest.md @@ -0,0 +1,9 @@ +# DuplicateProjectRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the project to copy. | +| `body` | [Operations\DuplicateProjectRequestBody](../../Models/Operations/DuplicateProjectRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/DuplicateProjectRequestBody.md b/docs/Models/Operations/DuplicateProjectRequestBody.md new file mode 100644 index 0000000..cd4bc84 --- /dev/null +++ b/docs/Models/Operations/DuplicateProjectRequestBody.md @@ -0,0 +1,8 @@ +# DuplicateProjectRequestBody + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `name` | *?string* | :heavy_minus_sign: | Name of the copy. Defaults to the original name with "(copy)". | \ No newline at end of file diff --git a/docs/Models/Operations/DuplicateProjectResponse.md b/docs/Models/Operations/DuplicateProjectResponse.md new file mode 100644 index 0000000..4b583da --- /dev/null +++ b/docs/Models/Operations/DuplicateProjectResponse.md @@ -0,0 +1,11 @@ +# DuplicateProjectResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `projectWithKey` | [?Components\ProjectWithKey](../../Models/Components/ProjectWithKey.md) | :heavy_minus_sign: | Project duplicated successfully | \ No newline at end of file diff --git a/docs/Models/Operations/Entities1.md b/docs/Models/Operations/Entities1.md new file mode 100644 index 0000000..9590a4c --- /dev/null +++ b/docs/Models/Operations/Entities1.md @@ -0,0 +1,12 @@ +# Entities1 + + +## Fields + +| Field | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `enable` | *?bool* | :heavy_minus_sign: | N/A | +| `flag` | *?bool* | :heavy_minus_sign: | N/A | +| `shouldMask` | *?bool* | :heavy_minus_sign: | N/A | +| `mask` | *?string* | :heavy_minus_sign: | N/A | +| `additionalProperties` | array | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Entities2.md b/docs/Models/Operations/Entities2.md new file mode 100644 index 0000000..15cca4f --- /dev/null +++ b/docs/Models/Operations/Entities2.md @@ -0,0 +1,12 @@ +# Entities2 + + +## Fields + +| Field | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `enable` | *?bool* | :heavy_minus_sign: | N/A | +| `flag` | *?bool* | :heavy_minus_sign: | N/A | +| `shouldMask` | *?bool* | :heavy_minus_sign: | N/A | +| `mask` | *?string* | :heavy_minus_sign: | N/A | +| `additionalProperties` | array | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/EntityMatcherOutput.md b/docs/Models/Operations/EntityMatcherOutput.md new file mode 100644 index 0000000..b91ecbe --- /dev/null +++ b/docs/Models/Operations/EntityMatcherOutput.md @@ -0,0 +1,15 @@ +# EntityMatcherOutput + +Entity matcher policy. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `type` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `flagged` | *bool* | :heavy_check_mark: | N/A | +| `flaggedFields` | array<*string*> | :heavy_minus_sign: | N/A | +| `matches` | array<[Operations\MatchT](../../Models/Operations/MatchT.md)> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Error.md b/docs/Models/Operations/Error.md new file mode 100644 index 0000000..a8dd8bf --- /dev/null +++ b/docs/Models/Operations/Error.md @@ -0,0 +1,9 @@ +# Error + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | N/A | +| `message` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Evaluation.md b/docs/Models/Operations/Evaluation.md new file mode 100644 index 0000000..b222261 --- /dev/null +++ b/docs/Models/Operations/Evaluation.md @@ -0,0 +1,14 @@ +# Evaluation + +The evaluation of the content after running the channel policies. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `flagged` | *bool* | :heavy_check_mark: | Whether the content was flagged by any policy. | +| `flagProbability` | *float* | :heavy_check_mark: | The probability that the content should be flagged. | +| `severityScore` | *float* | :heavy_check_mark: | The severity score of the content. A higher score indicates more severe content. | +| `unicodeSpoofed` | *?bool* | :heavy_minus_sign: | Whether the content was flagged for Unicode spoofing. | +| `shadowFlagged` | *?bool* | :heavy_minus_sign: | Whether the content would have been flagged by analyze-only policies (flag: false). | \ No newline at end of file diff --git a/docs/Models/Operations/ExecuteActionRequest.md b/docs/Models/Operations/ExecuteActionRequest.md new file mode 100644 index 0000000..6209c69 --- /dev/null +++ b/docs/Models/Operations/ExecuteActionRequest.md @@ -0,0 +1,15 @@ +# ExecuteActionRequest + +Input parameters + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `actionKey` | *string* | :heavy_check_mark: | ID or key of the action to execute | +| `contentIds` | array<*string*> | :heavy_minus_sign: | IDs of the content items to apply the action to. Provide this or authorIds. | +| `authorIds` | array<*string*> | :heavy_minus_sign: | IDs of the authors to apply the action to. Provide this or contentIds. | +| `value` | *?string* | :heavy_minus_sign: | Optional value to provide with the action | +| `queueId` | *?string* | :heavy_minus_sign: | Optional queue ID if the action is queue-specific | +| `duration` | *?float* | :heavy_minus_sign: | Optional duration in milliseconds for actions with timeouts | \ No newline at end of file diff --git a/docs/Models/Operations/ExecuteActionResponse.md b/docs/Models/Operations/ExecuteActionResponse.md new file mode 100644 index 0000000..c95e5c0 --- /dev/null +++ b/docs/Models/Operations/ExecuteActionResponse.md @@ -0,0 +1,11 @@ +# ExecuteActionResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ExecuteActionResponseBody](../../Models/Operations/ExecuteActionResponseBody.md) | :heavy_minus_sign: | Action executed successfully | \ No newline at end of file diff --git a/docs/Models/Operations/ExecuteActionResponseBody.md b/docs/Models/Operations/ExecuteActionResponseBody.md new file mode 100644 index 0000000..8249e3d --- /dev/null +++ b/docs/Models/Operations/ExecuteActionResponseBody.md @@ -0,0 +1,10 @@ +# ExecuteActionResponseBody + +Execution result + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `success` | *bool* | :heavy_check_mark: | Whether the action was executed successfully | \ No newline at end of file diff --git a/docs/Models/Operations/Extremism.md b/docs/Models/Operations/Extremism.md new file mode 100644 index 0000000..eabfbae --- /dev/null +++ b/docs/Models/Operations/Extremism.md @@ -0,0 +1,10 @@ +# Extremism + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/FaceDetection.md b/docs/Models/Operations/FaceDetection.md new file mode 100644 index 0000000..1531731 --- /dev/null +++ b/docs/Models/Operations/FaceDetection.md @@ -0,0 +1,12 @@ +# FaceDetection + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | +| `comparator` | [?Operations\Comparator](../../Models/Operations/Comparator.md) | :heavy_minus_sign: | Flag images that contain "at least" or "fewer than" the configured number of faces. Defaults to at_least. | +| `count` | *?int* | :heavy_minus_sign: | Number of faces the comparator applies to. Defaults to 1, so the default rule flags any image containing a face. | \ No newline at end of file diff --git a/docs/Models/Operations/Filter.md b/docs/Models/Operations/Filter.md new file mode 100644 index 0000000..052a284 --- /dev/null +++ b/docs/Models/Operations/Filter.md @@ -0,0 +1,32 @@ +# Filter + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `isFlagged` | [?Operations\IsFlagged](../../Models/Operations/IsFlagged.md) | :heavy_minus_sign: | N/A | +| `casebookAnswer` | [?Operations\CasebookAnswer](../../Models/Operations/CasebookAnswer.md) | :heavy_minus_sign: | N/A | +| `casebookAgreement` | [?Operations\CasebookAgreement](../../Models/Operations/CasebookAgreement.md) | :heavy_minus_sign: | N/A | +| `labels` | array<*string*> | :heavy_minus_sign: | N/A | +| `filterLabels` | array<[Operations\FilterLabel](../../Models/Operations/FilterLabel.md)> | :heavy_minus_sign: | N/A | +| `metadataFilters` | array<[Operations\MetadataFilter](../../Models/Operations/MetadataFilter.md)> | :heavy_minus_sign: | N/A | +| `filteredChannelIds` | array<*string*> | :heavy_minus_sign: | N/A | +| `filteredActionIds` | array<*string*> | :heavy_minus_sign: | N/A | +| `languages` | array<*string*> | :heavy_minus_sign: | N/A | +| `contentTypes` | array<[Operations\GetQueueContentType](../../Models/Operations/GetQueueContentType.md)> | :heavy_minus_sign: | N/A | +| `mediaTypes` | array<[Operations\MediaType](../../Models/Operations/MediaType.md)> | :heavy_minus_sign: | N/A | +| `authorTrustLevels` | array<*int*> | :heavy_minus_sign: | N/A | +| `recommendationActions` | array<[Operations\GetQueueRecommendationAction](../../Models/Operations/GetQueueRecommendationAction.md)> | :heavy_minus_sign: | N/A | +| `minSeverity` | *?int* | :heavy_minus_sign: | N/A | +| `maxSeverity` | *?int* | :heavy_minus_sign: | N/A | +| `afterDate` | *?string* | :heavy_minus_sign: | N/A | +| `beforeDate` | *?string* | :heavy_minus_sign: | N/A | +| `within` | *?float* | :heavy_minus_sign: | N/A | +| `withinUnit` | [?Operations\WithinUnit](../../Models/Operations/WithinUnit.md) | :heavy_minus_sign: | N/A | +| `clearDateWindow` | *?bool* | :heavy_minus_sign: | N/A | +| `checkStatus` | [?Operations\CheckStatus](../../Models/Operations/CheckStatus.md) | :heavy_minus_sign: | N/A | +| `authorID` | *?string* | :heavy_minus_sign: | N/A | +| `contentID` | *?string* | :heavy_minus_sign: | N/A | +| `conversationIds` | array<*string*> | :heavy_minus_sign: | N/A | +| `search` | array<*string*> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/FilterLabel.md b/docs/Models/Operations/FilterLabel.md new file mode 100644 index 0000000..8a144e9 --- /dev/null +++ b/docs/Models/Operations/FilterLabel.md @@ -0,0 +1,11 @@ +# FilterLabel + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `label` | *string* | :heavy_check_mark: | N/A | +| `type` | [Operations\GetQueueType](../../Models/Operations/GetQueueType.md) | :heavy_check_mark: | N/A | +| `minThreshold` | *?float* | :heavy_minus_sign: | N/A | +| `maxThreshold` | *?float* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/FlaggedContentTrend.md b/docs/Models/Operations/FlaggedContentTrend.md new file mode 100644 index 0000000..dd16d92 --- /dev/null +++ b/docs/Models/Operations/FlaggedContentTrend.md @@ -0,0 +1,9 @@ +# FlaggedContentTrend + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `label` | *string* | :heavy_check_mark: | Content flag/label | +| `trend` | *float* | :heavy_check_mark: | Trend indicator (-1 to 1) showing if this type of flagged content is increasing or decreasing | \ No newline at end of file diff --git a/docs/Models/Operations/FlaggingMode.md b/docs/Models/Operations/FlaggingMode.md new file mode 100644 index 0000000..8fadee3 --- /dev/null +++ b/docs/Models/Operations/FlaggingMode.md @@ -0,0 +1,11 @@ +# FlaggingMode + +`ACTIVE` flags content. `DRY_RUN` evaluates content without flagging it. + + +## Values + +| Name | Value | +| -------- | -------- | +| `DryRun` | DRY_RUN | +| `Active` | ACTIVE | \ No newline at end of file diff --git a/docs/Models/Operations/Gambling.md b/docs/Models/Operations/Gambling.md new file mode 100644 index 0000000..30b2e21 --- /dev/null +++ b/docs/Models/Operations/Gambling.md @@ -0,0 +1,10 @@ +# Gambling + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetAccountResponse.md b/docs/Models/Operations/GetAccountResponse.md new file mode 100644 index 0000000..ca391b8 --- /dev/null +++ b/docs/Models/Operations/GetAccountResponse.md @@ -0,0 +1,11 @@ +# GetAccountResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetAccountResponseBody](../../Models/Operations/GetAccountResponseBody.md) | :heavy_minus_sign: | Account details retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/GetAccountResponseBody.md b/docs/Models/Operations/GetAccountResponseBody.md new file mode 100644 index 0000000..e7240a1 --- /dev/null +++ b/docs/Models/Operations/GetAccountResponseBody.md @@ -0,0 +1,14 @@ +# GetAccountResponseBody + +Account details retrieved successfully + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | ID of the account | +| `paidPlanName` | *string* | :heavy_check_mark: | Name of the paid plan | +| `textApiQuota` | *float* | :heavy_check_mark: | Text API quota | +| `remainingQuota` | *float* | :heavy_check_mark: | Remaining quota | +| `currentProject` | [?Operations\CurrentProject](../../Models/Operations/CurrentProject.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetActionPosition.md b/docs/Models/Operations/GetActionPosition.md new file mode 100644 index 0000000..6d17211 --- /dev/null +++ b/docs/Models/Operations/GetActionPosition.md @@ -0,0 +1,12 @@ +# GetActionPosition + +Show the action in all queues, selected queues or no queues (to use via API only). + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `AllQueues` | ALL_QUEUES | +| `SomeQueues` | SOME_QUEUES | +| `Hidden` | HIDDEN | \ No newline at end of file diff --git a/docs/Models/Operations/GetActionPossibleValue.md b/docs/Models/Operations/GetActionPossibleValue.md new file mode 100644 index 0000000..ac23a74 --- /dev/null +++ b/docs/Models/Operations/GetActionPossibleValue.md @@ -0,0 +1,8 @@ +# GetActionPossibleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `value` | *string* | :heavy_check_mark: | The value of the action. | \ No newline at end of file diff --git a/docs/Models/Operations/GetActionQueueBehaviour.md b/docs/Models/Operations/GetActionQueueBehaviour.md new file mode 100644 index 0000000..f9ca7e3 --- /dev/null +++ b/docs/Models/Operations/GetActionQueueBehaviour.md @@ -0,0 +1,12 @@ +# GetActionQueueBehaviour + +Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Remove` | REMOVE | +| `Add` | ADD | +| `NoChange` | NO_CHANGE | \ No newline at end of file diff --git a/docs/Models/Operations/GetActionRequest.md b/docs/Models/Operations/GetActionRequest.md new file mode 100644 index 0000000..13c0401 --- /dev/null +++ b/docs/Models/Operations/GetActionRequest.md @@ -0,0 +1,8 @@ +# GetActionRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action to get. | \ No newline at end of file diff --git a/docs/Models/Operations/GetActionResponse.md b/docs/Models/Operations/GetActionResponse.md new file mode 100644 index 0000000..55aa951 --- /dev/null +++ b/docs/Models/Operations/GetActionResponse.md @@ -0,0 +1,11 @@ +# GetActionResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetActionResponseBody](../../Models/Operations/GetActionResponseBody.md) | :heavy_minus_sign: | Action retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/GetActionResponseBody.md b/docs/Models/Operations/GetActionResponseBody.md new file mode 100644 index 0000000..3bc0aec --- /dev/null +++ b/docs/Models/Operations/GetActionResponseBody.md @@ -0,0 +1,22 @@ +# GetActionResponseBody + +Action retrieved successfully + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action. | +| `key` | *?string* | :heavy_minus_sign: | User defined key of the action. | +| `createdAt` | *string* | :heavy_check_mark: | The date the action was created. | +| `name` | *string* | :heavy_check_mark: | The name of the action. | +| `description` | *?string* | :heavy_minus_sign: | The description of the action. | +| `type` | [?Operations\GetActionType](../../Models/Operations/GetActionType.md) | :heavy_minus_sign: | The type of the action. | +| `builtIn` | *?bool* | :heavy_minus_sign: | Whether the action is a built-in action or a custom one. | +| `queueBehaviour` | [?Operations\GetActionQueueBehaviour](../../Models/Operations/GetActionQueueBehaviour.md) | :heavy_minus_sign: | Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. | +| `filterInQueueIds` | array<*string*> | :heavy_check_mark: | The IDs of the queues the action is available in. | +| `position` | [?Operations\GetActionPosition](../../Models/Operations/GetActionPosition.md) | :heavy_minus_sign: | Show the action in all queues, selected queues or no queues (to use via API only). | +| `possibleValues` | array<[Operations\GetActionPossibleValue](../../Models/Operations/GetActionPossibleValue.md)> | :heavy_check_mark: | The possible values of the action. The user will be prompted to select one of these values when executing the action. | +| `valueRequired` | *?bool* | :heavy_minus_sign: | Whether the action requires a value to be executed. | +| `freeText` | *?bool* | :heavy_minus_sign: | Whether the action allows any text to be entered as a value or if it must be one of the possible values. | \ No newline at end of file diff --git a/docs/Models/Operations/GetActionType.md b/docs/Models/Operations/GetActionType.md new file mode 100644 index 0000000..7541daf --- /dev/null +++ b/docs/Models/Operations/GetActionType.md @@ -0,0 +1,17 @@ +# GetActionType + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `AuthorBlock` | AUTHOR_BLOCK | +| `AuthorBlockTemp` | AUTHOR_BLOCK_TEMP | +| `AuthorUnblock` | AUTHOR_UNBLOCK | +| `AuthorDelete` | AUTHOR_DELETE | +| `AuthorReport` | AUTHOR_REPORT | +| `AuthorWarn` | AUTHOR_WARN | +| `AuthorCustom` | AUTHOR_CUSTOM | +| `ItemReject` | ITEM_REJECT | +| `ItemAllow` | ITEM_ALLOW | +| `ItemCustom` | ITEM_CUSTOM | \ No newline at end of file diff --git a/docs/Models/Operations/GetAuthorRequest.md b/docs/Models/Operations/GetAuthorRequest.md new file mode 100644 index 0000000..9ff24f0 --- /dev/null +++ b/docs/Models/Operations/GetAuthorRequest.md @@ -0,0 +1,8 @@ +# GetAuthorRequest + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Either external ID or the ID assigned by moderation API. | \ No newline at end of file diff --git a/docs/Models/Operations/GetAuthorResponse.md b/docs/Models/Operations/GetAuthorResponse.md new file mode 100644 index 0000000..78aab4c --- /dev/null +++ b/docs/Models/Operations/GetAuthorResponse.md @@ -0,0 +1,11 @@ +# GetAuthorResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `publicAuthor` | [?Components\PublicAuthor](../../Models/Components/PublicAuthor.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/GetChannelRequest.md b/docs/Models/Operations/GetChannelRequest.md new file mode 100644 index 0000000..1680561 --- /dev/null +++ b/docs/Models/Operations/GetChannelRequest.md @@ -0,0 +1,8 @@ +# GetChannelRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the channel. | \ No newline at end of file diff --git a/docs/Models/Operations/GetChannelResponse.md b/docs/Models/Operations/GetChannelResponse.md new file mode 100644 index 0000000..8bbd046 --- /dev/null +++ b/docs/Models/Operations/GetChannelResponse.md @@ -0,0 +1,11 @@ +# GetChannelResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `channel` | [?Components\Channel](../../Models/Components/Channel.md) | :heavy_minus_sign: | Channel retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/GetProjectRequest.md b/docs/Models/Operations/GetProjectRequest.md new file mode 100644 index 0000000..fcfe9e2 --- /dev/null +++ b/docs/Models/Operations/GetProjectRequest.md @@ -0,0 +1,8 @@ +# GetProjectRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the project. | \ No newline at end of file diff --git a/docs/Models/Operations/GetProjectResponse.md b/docs/Models/Operations/GetProjectResponse.md new file mode 100644 index 0000000..e256ea2 --- /dev/null +++ b/docs/Models/Operations/GetProjectResponse.md @@ -0,0 +1,11 @@ +# GetProjectResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `project` | [?Components\Project](../../Models/Components/Project.md) | :heavy_minus_sign: | Project retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueContentType.md b/docs/Models/Operations/GetQueueContentType.md new file mode 100644 index 0000000..83f9af1 --- /dev/null +++ b/docs/Models/Operations/GetQueueContentType.md @@ -0,0 +1,16 @@ +# GetQueueContentType + + +## Values + +| Name | Value | +| --------- | --------- | +| `Profile` | profile | +| `Message` | message | +| `Post` | post | +| `Comment` | comment | +| `Event` | event | +| `Product` | product | +| `Review` | review | +| `Voice` | voice | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueRecommendationAction.md b/docs/Models/Operations/GetQueueRecommendationAction.md new file mode 100644 index 0000000..c073a55 --- /dev/null +++ b/docs/Models/Operations/GetQueueRecommendationAction.md @@ -0,0 +1,10 @@ +# GetQueueRecommendationAction + + +## Values + +| Name | Value | +| -------- | -------- | +| `Review` | review | +| `Allow` | allow | +| `Reject` | reject | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueRequest.md b/docs/Models/Operations/GetQueueRequest.md new file mode 100644 index 0000000..f266eda --- /dev/null +++ b/docs/Models/Operations/GetQueueRequest.md @@ -0,0 +1,8 @@ +# GetQueueRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The queue ID | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueResponse.md b/docs/Models/Operations/GetQueueResponse.md new file mode 100644 index 0000000..330baa3 --- /dev/null +++ b/docs/Models/Operations/GetQueueResponse.md @@ -0,0 +1,11 @@ +# GetQueueResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetQueueResponseBody](../../Models/Operations/GetQueueResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueResponseBody.md b/docs/Models/Operations/GetQueueResponseBody.md new file mode 100644 index 0000000..b670ca7 --- /dev/null +++ b/docs/Models/Operations/GetQueueResponseBody.md @@ -0,0 +1,10 @@ +# GetQueueResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `queue` | [Operations\Queue](../../Models/Operations/Queue.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueStatsRequest.md b/docs/Models/Operations/GetQueueStatsRequest.md new file mode 100644 index 0000000..95525f3 --- /dev/null +++ b/docs/Models/Operations/GetQueueStatsRequest.md @@ -0,0 +1,9 @@ +# GetQueueStatsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The queue ID | +| `withinDays` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueStatsResponse.md b/docs/Models/Operations/GetQueueStatsResponse.md new file mode 100644 index 0000000..ccfe093 --- /dev/null +++ b/docs/Models/Operations/GetQueueStatsResponse.md @@ -0,0 +1,11 @@ +# GetQueueStatsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetQueueStatsResponseBody](../../Models/Operations/GetQueueStatsResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueStatsResponseBody.md b/docs/Models/Operations/GetQueueStatsResponseBody.md new file mode 100644 index 0000000..287f20f --- /dev/null +++ b/docs/Models/Operations/GetQueueStatsResponseBody.md @@ -0,0 +1,13 @@ +# GetQueueStatsResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `reviewStats` | [Operations\ReviewStats](../../Models/Operations/ReviewStats.md) | :heavy_check_mark: | N/A | +| `actionStats` | array<[Operations\ActionStat](../../Models/Operations/ActionStat.md)> | :heavy_check_mark: | N/A | +| `topReviewers` | array<[Operations\TopReviewer](../../Models/Operations/TopReviewer.md)> | :heavy_check_mark: | List of top reviewers and their statistics | +| `trends` | [Operations\Trends](../../Models/Operations/Trends.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetQueueType.md b/docs/Models/Operations/GetQueueType.md new file mode 100644 index 0000000..9225b36 --- /dev/null +++ b/docs/Models/Operations/GetQueueType.md @@ -0,0 +1,11 @@ +# GetQueueType + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Flagged` | FLAGGED | +| `NotFlagged` | NOT_FLAGGED | +| `Thresholds` | THRESHOLDS | +| `Matched` | MATCHED | \ No newline at end of file diff --git a/docs/Models/Operations/GetWebhookEventType.md b/docs/Models/Operations/GetWebhookEventType.md new file mode 100644 index 0000000..a1d73a8 --- /dev/null +++ b/docs/Models/Operations/GetWebhookEventType.md @@ -0,0 +1,18 @@ +# GetWebhookEventType + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `QueueItemNew` | QUEUE_ITEM_NEW | +| `QueueItemCompleted` | QUEUE_ITEM_COMPLETED | +| `QueueItemAction` | QUEUE_ITEM_ACTION | +| `QueueItemRejected` | QUEUE_ITEM_REJECTED | +| `QueueItemAllowed` | QUEUE_ITEM_ALLOWED | +| `AuthorBlocked` | AUTHOR_BLOCKED | +| `AuthorUnblocked` | AUTHOR_UNBLOCKED | +| `AuthorSuspended` | AUTHOR_SUSPENDED | +| `AuthorUpdated` | AUTHOR_UPDATED | +| `AuthorTrustLevelChanged` | AUTHOR_TRUST_LEVEL_CHANGED | +| `AuthorAction` | AUTHOR_ACTION | \ No newline at end of file diff --git a/docs/Models/Operations/GetWebhookPayloadVersion.md b/docs/Models/Operations/GetWebhookPayloadVersion.md new file mode 100644 index 0000000..70f7024 --- /dev/null +++ b/docs/Models/Operations/GetWebhookPayloadVersion.md @@ -0,0 +1,11 @@ +# GetWebhookPayloadVersion + +Payload envelope version. V2 is the Stripe-style envelope; V1 is the legacy flat shape and is read-only via this API. + + +## Values + +| Name | Value | +| ----- | ----- | +| `V1` | V1 | +| `V2` | V2 | \ No newline at end of file diff --git a/docs/Models/Operations/GetWebhookRequest.md b/docs/Models/Operations/GetWebhookRequest.md new file mode 100644 index 0000000..a2bf1cb --- /dev/null +++ b/docs/Models/Operations/GetWebhookRequest.md @@ -0,0 +1,8 @@ +# GetWebhookRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook to get. | \ No newline at end of file diff --git a/docs/Models/Operations/GetWebhookResponse.md b/docs/Models/Operations/GetWebhookResponse.md new file mode 100644 index 0000000..d6edcef --- /dev/null +++ b/docs/Models/Operations/GetWebhookResponse.md @@ -0,0 +1,11 @@ +# GetWebhookResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetWebhookResponseBody](../../Models/Operations/GetWebhookResponseBody.md) | :heavy_minus_sign: | Webhook retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/GetWebhookResponseBody.md b/docs/Models/Operations/GetWebhookResponseBody.md new file mode 100644 index 0000000..5a5c9dc --- /dev/null +++ b/docs/Models/Operations/GetWebhookResponseBody.md @@ -0,0 +1,16 @@ +# GetWebhookResponseBody + +Webhook retrieved successfully + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook. | +| `name` | *string* | :heavy_check_mark: | The webhook's name. | +| `description` | *?string* | :heavy_minus_sign: | The webhook's description. | +| `url` | *string* | :heavy_check_mark: | The URL we call when a subscribed event occurs. | +| `eventTypes` | array<[Operations\GetWebhookEventType](../../Models/Operations/GetWebhookEventType.md)> | :heavy_check_mark: | Event types this webhook subscribes to. Empty for legacy v1 webhooks, which subscribe via their single deprecated `type` instead. | +| `payloadVersion` | [Operations\GetWebhookPayloadVersion](../../Models/Operations/GetWebhookPayloadVersion.md) | :heavy_check_mark: | Payload envelope version. V2 is the Stripe-style envelope; V1 is the legacy flat shape and is read-only via this API. | +| `createdAt` | *string* | :heavy_check_mark: | The date the webhook was created. | \ No newline at end of file diff --git a/docs/Models/Operations/GetWebhookSecretResponse.md b/docs/Models/Operations/GetWebhookSecretResponse.md new file mode 100644 index 0000000..521bfcd --- /dev/null +++ b/docs/Models/Operations/GetWebhookSecretResponse.md @@ -0,0 +1,11 @@ +# GetWebhookSecretResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetWebhookSecretResponseBody](../../Models/Operations/GetWebhookSecretResponseBody.md) | :heavy_minus_sign: | Signing secret retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/GetWebhookSecretResponseBody.md b/docs/Models/Operations/GetWebhookSecretResponseBody.md new file mode 100644 index 0000000..50a5fc7 --- /dev/null +++ b/docs/Models/Operations/GetWebhookSecretResponseBody.md @@ -0,0 +1,10 @@ +# GetWebhookSecretResponseBody + +Signing secret retrieved successfully + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `secret` | *string* | :heavy_check_mark: | The signing secret for this project. Every webhook delivery is signed with HMAC-SHA256 over the raw JSON body, hex-encoded in the `modapi-signature` header. | \ No newline at end of file diff --git a/docs/Models/Operations/GetWordlistEmbeddingStatusRequest.md b/docs/Models/Operations/GetWordlistEmbeddingStatusRequest.md new file mode 100644 index 0000000..2449a6d --- /dev/null +++ b/docs/Models/Operations/GetWordlistEmbeddingStatusRequest.md @@ -0,0 +1,8 @@ +# GetWordlistEmbeddingStatusRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to check embedding status for | \ No newline at end of file diff --git a/docs/Models/Operations/GetWordlistEmbeddingStatusResponse.md b/docs/Models/Operations/GetWordlistEmbeddingStatusResponse.md new file mode 100644 index 0000000..4933ce5 --- /dev/null +++ b/docs/Models/Operations/GetWordlistEmbeddingStatusResponse.md @@ -0,0 +1,11 @@ +# GetWordlistEmbeddingStatusResponse + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetWordlistEmbeddingStatusResponseBody](../../Models/Operations/GetWordlistEmbeddingStatusResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/GetWordlistEmbeddingStatusResponseBody.md b/docs/Models/Operations/GetWordlistEmbeddingStatusResponseBody.md new file mode 100644 index 0000000..4aa71d6 --- /dev/null +++ b/docs/Models/Operations/GetWordlistEmbeddingStatusResponseBody.md @@ -0,0 +1,12 @@ +# GetWordlistEmbeddingStatusResponseBody + +Embedding status details + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `progress` | *float* | :heavy_check_mark: | Percentage of words that have been embedded (0-100) | +| `totalWords` | *float* | :heavy_check_mark: | Total number of words in the wordlist | +| `remainingWords` | *float* | :heavy_check_mark: | Number of words still waiting to be embedded | \ No newline at end of file diff --git a/docs/Models/Operations/GetWordlistRequest.md b/docs/Models/Operations/GetWordlistRequest.md new file mode 100644 index 0000000..9363170 --- /dev/null +++ b/docs/Models/Operations/GetWordlistRequest.md @@ -0,0 +1,8 @@ +# GetWordlistRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to get | \ No newline at end of file diff --git a/docs/Models/Operations/GetWordlistResponse.md b/docs/Models/Operations/GetWordlistResponse.md new file mode 100644 index 0000000..a6d2c21 --- /dev/null +++ b/docs/Models/Operations/GetWordlistResponse.md @@ -0,0 +1,11 @@ +# GetWordlistResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetWordlistResponseBody](../../Models/Operations/GetWordlistResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/GetWordlistResponseBody.md b/docs/Models/Operations/GetWordlistResponseBody.md new file mode 100644 index 0000000..6d3e4ba --- /dev/null +++ b/docs/Models/Operations/GetWordlistResponseBody.md @@ -0,0 +1,16 @@ +# GetWordlistResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist | +| `name` | *string* | :heavy_check_mark: | N/A | +| `words` | array<*string*> | :heavy_check_mark: | Words in the wordlist | +| `createdAt` | *string* | :heavy_check_mark: | Creation date of the wordlist | +| `organizationId` | *string* | :heavy_check_mark: | ID of the organization | +| `userId` | *string* | :heavy_check_mark: | N/A | +| `strict` | *bool* | :heavy_check_mark: | Strict mode | \ No newline at end of file diff --git a/docs/Models/Operations/GlobalFlaggingMode.md b/docs/Models/Operations/GlobalFlaggingMode.md new file mode 100644 index 0000000..2e85127 --- /dev/null +++ b/docs/Models/Operations/GlobalFlaggingMode.md @@ -0,0 +1,11 @@ +# GlobalFlaggingMode + +`ACTIVE` flags content. `DRY_RUN` evaluates without flagging. + + +## Values + +| Name | Value | +| -------- | -------- | +| `DryRun` | DRY_RUN | +| `Active` | ACTIVE | \ No newline at end of file diff --git a/docs/Models/Operations/Guideline.md b/docs/Models/Operations/Guideline.md new file mode 100644 index 0000000..cf4a0a4 --- /dev/null +++ b/docs/Models/Operations/Guideline.md @@ -0,0 +1,12 @@ +# Guideline + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | +| `instructions` | *string* | :heavy_check_mark: | N/A | +| `guidelineKey` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Hate.md b/docs/Models/Operations/Hate.md new file mode 100644 index 0000000..194b3b1 --- /dev/null +++ b/docs/Models/Operations/Hate.md @@ -0,0 +1,10 @@ +# Hate + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/IllegalTrade.md b/docs/Models/Operations/IllegalTrade.md new file mode 100644 index 0000000..f32bc4f --- /dev/null +++ b/docs/Models/Operations/IllegalTrade.md @@ -0,0 +1,10 @@ +# IllegalTrade + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Illicit.md b/docs/Models/Operations/Illicit.md new file mode 100644 index 0000000..e62288a --- /dev/null +++ b/docs/Models/Operations/Illicit.md @@ -0,0 +1,10 @@ +# Illicit + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/IllicitAlcohol.md b/docs/Models/Operations/IllicitAlcohol.md new file mode 100644 index 0000000..04c420f --- /dev/null +++ b/docs/Models/Operations/IllicitAlcohol.md @@ -0,0 +1,10 @@ +# IllicitAlcohol + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/IllicitDrugs.md b/docs/Models/Operations/IllicitDrugs.md new file mode 100644 index 0000000..e706e2c --- /dev/null +++ b/docs/Models/Operations/IllicitDrugs.md @@ -0,0 +1,10 @@ +# IllicitDrugs + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/IllicitFirearms.md b/docs/Models/Operations/IllicitFirearms.md new file mode 100644 index 0000000..43bffa1 --- /dev/null +++ b/docs/Models/Operations/IllicitFirearms.md @@ -0,0 +1,10 @@ +# IllicitFirearms + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/IllicitGambling.md b/docs/Models/Operations/IllicitGambling.md new file mode 100644 index 0000000..5635975 --- /dev/null +++ b/docs/Models/Operations/IllicitGambling.md @@ -0,0 +1,10 @@ +# IllicitGambling + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/IllicitTobacco.md b/docs/Models/Operations/IllicitTobacco.md new file mode 100644 index 0000000..8f624db --- /dev/null +++ b/docs/Models/Operations/IllicitTobacco.md @@ -0,0 +1,10 @@ +# IllicitTobacco + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ImageRequest.md b/docs/Models/Operations/ImageRequest.md new file mode 100644 index 0000000..779557e --- /dev/null +++ b/docs/Models/Operations/ImageRequest.md @@ -0,0 +1,12 @@ +# ImageRequest + +Image + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *?string* | :heavy_minus_sign: | A public URL of the image content. Either url or data must be provided. | +| `data` | *?string* | :heavy_minus_sign: | Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. | \ No newline at end of file diff --git a/docs/Models/Operations/ImageResponse.md b/docs/Models/Operations/ImageResponse.md new file mode 100644 index 0000000..da67def --- /dev/null +++ b/docs/Models/Operations/ImageResponse.md @@ -0,0 +1,12 @@ +# ImageResponse + +Image + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *?string* | :heavy_minus_sign: | A public URL of the image content. Either url or data must be provided. | +| `data` | *?string* | :heavy_minus_sign: | Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. | \ No newline at end of file diff --git a/docs/Models/Operations/Insight.md b/docs/Models/Operations/Insight.md new file mode 100644 index 0000000..4708420 --- /dev/null +++ b/docs/Models/Operations/Insight.md @@ -0,0 +1,59 @@ +# Insight + + +## Supported Types + +### `Operations\SentimentInsight` + +```php +/** +* @var \ModerationApi\Models\Operations\SentimentInsight +*/ +Operations\SentimentInsight $value = /* values here */ +``` + +### `Operations\LanguageInsight` + +```php +/** +* @var \ModerationApi\Models\Operations\LanguageInsight +*/ +Operations\LanguageInsight $value = /* values here */ +``` + +### `Operations\CuriosityInsight` + +```php +/** +* @var \ModerationApi\Models\Operations\CuriosityInsight +*/ +Operations\CuriosityInsight $value = /* values here */ +``` + +### `Operations\RespectInsight` + +```php +/** +* @var \ModerationApi\Models\Operations\RespectInsight +*/ +Operations\RespectInsight $value = /* values here */ +``` + +### `Operations\PersonalStoryInsight` + +```php +/** +* @var \ModerationApi\Models\Operations\PersonalStoryInsight +*/ +Operations\PersonalStoryInsight $value = /* values here */ +``` + +### `Operations\CompassionInsight` + +```php +/** +* @var \ModerationApi\Models\Operations\CompassionInsight +*/ +Operations\CompassionInsight $value = /* values here */ +``` + diff --git a/docs/Models/Operations/IsFlagged.md b/docs/Models/Operations/IsFlagged.md new file mode 100644 index 0000000..ca65e04 --- /dev/null +++ b/docs/Models/Operations/IsFlagged.md @@ -0,0 +1,11 @@ +# IsFlagged + + +## Values + +| Name | Value | +| --------------- | --------------- | +| `All` | ALL | +| `Flagged` | FLAGGED | +| `NotFlagged` | NOT_FLAGGED | +| `ShadowFlagged` | SHADOW_FLAGGED | \ No newline at end of file diff --git a/docs/Models/Operations/LanguageInsight.md b/docs/Models/Operations/LanguageInsight.md new file mode 100644 index 0000000..76b8a7a --- /dev/null +++ b/docs/Models/Operations/LanguageInsight.md @@ -0,0 +1,13 @@ +# LanguageInsight + +Language insight + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | N/A | +| `type` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `value` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ListActionsData.md b/docs/Models/Operations/ListActionsData.md new file mode 100644 index 0000000..b27b29d --- /dev/null +++ b/docs/Models/Operations/ListActionsData.md @@ -0,0 +1,20 @@ +# ListActionsData + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action. | +| `key` | *?string* | :heavy_minus_sign: | User defined key of the action. | +| `createdAt` | *string* | :heavy_check_mark: | The date the action was created. | +| `name` | *string* | :heavy_check_mark: | The name of the action. | +| `description` | *?string* | :heavy_minus_sign: | The description of the action. | +| `type` | [?Operations\ListActionsType](../../Models/Operations/ListActionsType.md) | :heavy_minus_sign: | The type of the action. | +| `builtIn` | *?bool* | :heavy_minus_sign: | Whether the action is a built-in action or a custom one. | +| `queueBehaviour` | [?Operations\ListActionsQueueBehaviour](../../Models/Operations/ListActionsQueueBehaviour.md) | :heavy_minus_sign: | Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. | +| `filterInQueueIds` | array<*string*> | :heavy_check_mark: | The IDs of the queues the action is available in. | +| `position` | [?Operations\ListActionsPosition](../../Models/Operations/ListActionsPosition.md) | :heavy_minus_sign: | Show the action in all queues, selected queues or no queues (to use via API only). | +| `possibleValues` | array<[Operations\ListActionsPossibleValue](../../Models/Operations/ListActionsPossibleValue.md)> | :heavy_check_mark: | The possible values of the action. The user will be prompted to select one of these values when executing the action. | +| `valueRequired` | *?bool* | :heavy_minus_sign: | Whether the action requires a value to be executed. | +| `freeText` | *?bool* | :heavy_minus_sign: | Whether the action allows any text to be entered as a value or if it must be one of the possible values. | \ No newline at end of file diff --git a/docs/Models/Operations/ListActionsPosition.md b/docs/Models/Operations/ListActionsPosition.md new file mode 100644 index 0000000..5328e61 --- /dev/null +++ b/docs/Models/Operations/ListActionsPosition.md @@ -0,0 +1,12 @@ +# ListActionsPosition + +Show the action in all queues, selected queues or no queues (to use via API only). + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `AllQueues` | ALL_QUEUES | +| `SomeQueues` | SOME_QUEUES | +| `Hidden` | HIDDEN | \ No newline at end of file diff --git a/docs/Models/Operations/ListActionsPossibleValue.md b/docs/Models/Operations/ListActionsPossibleValue.md new file mode 100644 index 0000000..ae9f57c --- /dev/null +++ b/docs/Models/Operations/ListActionsPossibleValue.md @@ -0,0 +1,8 @@ +# ListActionsPossibleValue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `value` | *string* | :heavy_check_mark: | The value of the action. | \ No newline at end of file diff --git a/docs/Models/Operations/ListActionsQueueBehaviour.md b/docs/Models/Operations/ListActionsQueueBehaviour.md new file mode 100644 index 0000000..c9f1721 --- /dev/null +++ b/docs/Models/Operations/ListActionsQueueBehaviour.md @@ -0,0 +1,12 @@ +# ListActionsQueueBehaviour + +Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Remove` | REMOVE | +| `Add` | ADD | +| `NoChange` | NO_CHANGE | \ No newline at end of file diff --git a/docs/Models/Operations/ListActionsRequest.md b/docs/Models/Operations/ListActionsRequest.md new file mode 100644 index 0000000..ae6c5a8 --- /dev/null +++ b/docs/Models/Operations/ListActionsRequest.md @@ -0,0 +1,10 @@ +# ListActionsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `queueId` | *?string* | :heavy_minus_sign: | N/A | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ListActionsResponse.md b/docs/Models/Operations/ListActionsResponse.md new file mode 100644 index 0000000..5f157a6 --- /dev/null +++ b/docs/Models/Operations/ListActionsResponse.md @@ -0,0 +1,11 @@ +# ListActionsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ListActionsResponseBody](../../Models/Operations/ListActionsResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/ListActionsResponseBody.md b/docs/Models/Operations/ListActionsResponseBody.md new file mode 100644 index 0000000..43ec0cf --- /dev/null +++ b/docs/Models/Operations/ListActionsResponseBody.md @@ -0,0 +1,11 @@ +# ListActionsResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `data` | array<[Operations\ListActionsData](../../Models/Operations/ListActionsData.md)> | :heavy_check_mark: | The items on this page. | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | Where this page is in the full list. | \ No newline at end of file diff --git a/docs/Models/Operations/ListActionsType.md b/docs/Models/Operations/ListActionsType.md new file mode 100644 index 0000000..f591017 --- /dev/null +++ b/docs/Models/Operations/ListActionsType.md @@ -0,0 +1,17 @@ +# ListActionsType + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `AuthorBlock` | AUTHOR_BLOCK | +| `AuthorBlockTemp` | AUTHOR_BLOCK_TEMP | +| `AuthorUnblock` | AUTHOR_UNBLOCK | +| `AuthorDelete` | AUTHOR_DELETE | +| `AuthorReport` | AUTHOR_REPORT | +| `AuthorWarn` | AUTHOR_WARN | +| `AuthorCustom` | AUTHOR_CUSTOM | +| `ItemReject` | ITEM_REJECT | +| `ItemAllow` | ITEM_ALLOW | +| `ItemCustom` | ITEM_CUSTOM | \ No newline at end of file diff --git a/docs/Models/Operations/ListAuthorsRequest.md b/docs/Models/Operations/ListAuthorsRequest.md new file mode 100644 index 0000000..326b765 --- /dev/null +++ b/docs/Models/Operations/ListAuthorsRequest.md @@ -0,0 +1,14 @@ +# ListAuthorsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | +| `sortBy` | [?Operations\SortBy](../../Models/Operations/SortBy.md) | :heavy_minus_sign: | N/A | +| `sortDirection` | [?Operations\ListAuthorsSortDirection](../../Models/Operations/ListAuthorsSortDirection.md) | :heavy_minus_sign: | Sort direction | +| `memberSinceDate` | *?string* | :heavy_minus_sign: | N/A | +| `lastActiveDate` | *?string* | :heavy_minus_sign: | N/A | +| `contentTypes` | array<*string*> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ListAuthorsResponse.md b/docs/Models/Operations/ListAuthorsResponse.md new file mode 100644 index 0000000..6414971 --- /dev/null +++ b/docs/Models/Operations/ListAuthorsResponse.md @@ -0,0 +1,11 @@ +# ListAuthorsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ListAuthorsResponseBody](../../Models/Operations/ListAuthorsResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/ListAuthorsResponseBody.md b/docs/Models/Operations/ListAuthorsResponseBody.md new file mode 100644 index 0000000..72e0690 --- /dev/null +++ b/docs/Models/Operations/ListAuthorsResponseBody.md @@ -0,0 +1,11 @@ +# ListAuthorsResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `data` | array<[Components\PublicAuthor](../../Models/Components/PublicAuthor.md)> | :heavy_check_mark: | The items on this page. | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | Where this page is in the full list. | \ No newline at end of file diff --git a/docs/Models/Operations/ListAuthorsSortDirection.md b/docs/Models/Operations/ListAuthorsSortDirection.md new file mode 100644 index 0000000..725baec --- /dev/null +++ b/docs/Models/Operations/ListAuthorsSortDirection.md @@ -0,0 +1,11 @@ +# ListAuthorsSortDirection + +Sort direction + + +## Values + +| Name | Value | +| ------ | ------ | +| `Asc` | asc | +| `Desc` | desc | \ No newline at end of file diff --git a/docs/Models/Operations/ListChannelsRequest.md b/docs/Models/Operations/ListChannelsRequest.md new file mode 100644 index 0000000..ef9ee4c --- /dev/null +++ b/docs/Models/Operations/ListChannelsRequest.md @@ -0,0 +1,10 @@ +# ListChannelsRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `projectId` | *string* | :heavy_check_mark: | The ID of the project. | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ListChannelsResponse.md b/docs/Models/Operations/ListChannelsResponse.md new file mode 100644 index 0000000..ed55247 --- /dev/null +++ b/docs/Models/Operations/ListChannelsResponse.md @@ -0,0 +1,11 @@ +# ListChannelsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ListChannelsResponseBody](../../Models/Operations/ListChannelsResponseBody.md) | :heavy_minus_sign: | Channels retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/ListChannelsResponseBody.md b/docs/Models/Operations/ListChannelsResponseBody.md new file mode 100644 index 0000000..96c23de --- /dev/null +++ b/docs/Models/Operations/ListChannelsResponseBody.md @@ -0,0 +1,11 @@ +# ListChannelsResponseBody + +Channels retrieved successfully + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `data` | array<[Components\Channel](../../Models/Components/Channel.md)> | :heavy_check_mark: | The items on this page. | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | Where this page is in the full list. | \ No newline at end of file diff --git a/docs/Models/Operations/ListProjectsRequest.md b/docs/Models/Operations/ListProjectsRequest.md new file mode 100644 index 0000000..f465a59 --- /dev/null +++ b/docs/Models/Operations/ListProjectsRequest.md @@ -0,0 +1,9 @@ +# ListProjectsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ListProjectsResponse.md b/docs/Models/Operations/ListProjectsResponse.md new file mode 100644 index 0000000..3a7200b --- /dev/null +++ b/docs/Models/Operations/ListProjectsResponse.md @@ -0,0 +1,11 @@ +# ListProjectsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ListProjectsResponseBody](../../Models/Operations/ListProjectsResponseBody.md) | :heavy_minus_sign: | Projects retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/ListProjectsResponseBody.md b/docs/Models/Operations/ListProjectsResponseBody.md new file mode 100644 index 0000000..413f14e --- /dev/null +++ b/docs/Models/Operations/ListProjectsResponseBody.md @@ -0,0 +1,11 @@ +# ListProjectsResponseBody + +Projects retrieved successfully + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `data` | array<[Components\Project](../../Models/Components/Project.md)> | :heavy_check_mark: | The items on this page. | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | Where this page is in the full list. | \ No newline at end of file diff --git a/docs/Models/Operations/ListQueueItemsAction.md b/docs/Models/Operations/ListQueueItemsAction.md new file mode 100644 index 0000000..228f291 --- /dev/null +++ b/docs/Models/Operations/ListQueueItemsAction.md @@ -0,0 +1,12 @@ +# ListQueueItemsAction + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Action ID | +| `name` | *string* | :heavy_check_mark: | Action name | +| `comment` | *?string* | :heavy_minus_sign: | Action comment | +| `timestamp` | *float* | :heavy_check_mark: | Unix timestamp of when the action was taken | +| `reviewer` | *?string* | :heavy_minus_sign: | Moderator userID | \ No newline at end of file diff --git a/docs/Models/Operations/ListQueueItemsData.md b/docs/Models/Operations/ListQueueItemsData.md new file mode 100644 index 0000000..be262a8 --- /dev/null +++ b/docs/Models/Operations/ListQueueItemsData.md @@ -0,0 +1,18 @@ +# ListQueueItemsData + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Content ID | +| `content` | *string* | :heavy_check_mark: | The content to be moderated | +| `language` | *?string* | :heavy_minus_sign: | Content language | +| `labels` | array<[Operations\ListQueueItemsLabel](../../Models/Operations/ListQueueItemsLabel.md)> | :heavy_check_mark: | N/A | +| `conversationId` | *?string* | :heavy_minus_sign: | Conversation ID | +| `authorId` | *?string* | :heavy_minus_sign: | Author ID | +| `actions` | array<[Operations\ListQueueItemsAction](../../Models/Operations/ListQueueItemsAction.md)> | :heavy_minus_sign: | Action IDs taken on this item | +| `flagged` | *bool* | :heavy_check_mark: | Whether the item is flagged by any label | +| `status` | [Operations\ListQueueItemsStatus](../../Models/Operations/ListQueueItemsStatus.md) | :heavy_check_mark: | Status of the item | +| `timestamp` | *float* | :heavy_check_mark: | Unix timestamp of when the item was created | +| `contentType` | *?string* | :heavy_minus_sign: | Type of the content object | \ No newline at end of file diff --git a/docs/Models/Operations/ListQueueItemsLabel.md b/docs/Models/Operations/ListQueueItemsLabel.md new file mode 100644 index 0000000..26f405e --- /dev/null +++ b/docs/Models/Operations/ListQueueItemsLabel.md @@ -0,0 +1,10 @@ +# ListQueueItemsLabel + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `label` | *string* | :heavy_check_mark: | Label name | +| `score` | *float* | :heavy_check_mark: | Confidence score of the label | +| `flagged` | *bool* | :heavy_check_mark: | Whether this label caused a flag | \ No newline at end of file diff --git a/docs/Models/Operations/ListQueueItemsRequest.md b/docs/Models/Operations/ListQueueItemsRequest.md new file mode 100644 index 0000000..7a2ff96 --- /dev/null +++ b/docs/Models/Operations/ListQueueItemsRequest.md @@ -0,0 +1,19 @@ +# ListQueueItemsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The queue ID | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | +| `sortField` | [?Operations\SortField](../../Models/Operations/SortField.md) | :heavy_minus_sign: | N/A | +| `sortDirection` | [?Operations\ListQueueItemsSortDirection](../../Models/Operations/ListQueueItemsSortDirection.md) | :heavy_minus_sign: | Sort direction | +| `conversationIds` | array<*string*> | :heavy_minus_sign: | N/A | +| `labels` | array<*string*> | :heavy_minus_sign: | N/A | +| `afterDate` | *?string* | :heavy_minus_sign: | N/A | +| `beforeDate` | *?string* | :heavy_minus_sign: | N/A | +| `includeResolved` | *?bool* | :heavy_minus_sign: | N/A | +| `authorId` | *?string* | :heavy_minus_sign: | N/A | +| `filteredActionIds` | array<*string*> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ListQueueItemsResponse.md b/docs/Models/Operations/ListQueueItemsResponse.md new file mode 100644 index 0000000..f79c737 --- /dev/null +++ b/docs/Models/Operations/ListQueueItemsResponse.md @@ -0,0 +1,11 @@ +# ListQueueItemsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ListQueueItemsResponseBody](../../Models/Operations/ListQueueItemsResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/ListQueueItemsResponseBody.md b/docs/Models/Operations/ListQueueItemsResponseBody.md new file mode 100644 index 0000000..ff0cdbd --- /dev/null +++ b/docs/Models/Operations/ListQueueItemsResponseBody.md @@ -0,0 +1,11 @@ +# ListQueueItemsResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `data` | array<[Operations\ListQueueItemsData](../../Models/Operations/ListQueueItemsData.md)> | :heavy_check_mark: | The items on this page. | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | Where this page is in the full list. | \ No newline at end of file diff --git a/docs/Models/Operations/ListQueueItemsSortDirection.md b/docs/Models/Operations/ListQueueItemsSortDirection.md new file mode 100644 index 0000000..3ce34d7 --- /dev/null +++ b/docs/Models/Operations/ListQueueItemsSortDirection.md @@ -0,0 +1,11 @@ +# ListQueueItemsSortDirection + +Sort direction + + +## Values + +| Name | Value | +| ------ | ------ | +| `Asc` | asc | +| `Desc` | desc | \ No newline at end of file diff --git a/docs/Models/Operations/ListQueueItemsStatus.md b/docs/Models/Operations/ListQueueItemsStatus.md new file mode 100644 index 0000000..31be4c7 --- /dev/null +++ b/docs/Models/Operations/ListQueueItemsStatus.md @@ -0,0 +1,11 @@ +# ListQueueItemsStatus + +Status of the item + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Pending` | pending | +| `Resolved` | resolved | \ No newline at end of file diff --git a/docs/Models/Operations/ListWebhooksData.md b/docs/Models/Operations/ListWebhooksData.md new file mode 100644 index 0000000..001b7bd --- /dev/null +++ b/docs/Models/Operations/ListWebhooksData.md @@ -0,0 +1,14 @@ +# ListWebhooksData + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook. | +| `name` | *string* | :heavy_check_mark: | The webhook's name. | +| `description` | *?string* | :heavy_minus_sign: | The webhook's description. | +| `url` | *string* | :heavy_check_mark: | The URL we call when a subscribed event occurs. | +| `eventTypes` | array<[Operations\ListWebhooksEventType](../../Models/Operations/ListWebhooksEventType.md)> | :heavy_check_mark: | Event types this webhook subscribes to. Empty for legacy v1 webhooks, which subscribe via their single deprecated `type` instead. | +| `payloadVersion` | [Operations\ListWebhooksPayloadVersion](../../Models/Operations/ListWebhooksPayloadVersion.md) | :heavy_check_mark: | Payload envelope version. V2 is the Stripe-style envelope; V1 is the legacy flat shape and is read-only via this API. | +| `createdAt` | *string* | :heavy_check_mark: | The date the webhook was created. | \ No newline at end of file diff --git a/docs/Models/Operations/ListWebhooksEventType.md b/docs/Models/Operations/ListWebhooksEventType.md new file mode 100644 index 0000000..0ccf1f8 --- /dev/null +++ b/docs/Models/Operations/ListWebhooksEventType.md @@ -0,0 +1,18 @@ +# ListWebhooksEventType + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `QueueItemNew` | QUEUE_ITEM_NEW | +| `QueueItemCompleted` | QUEUE_ITEM_COMPLETED | +| `QueueItemAction` | QUEUE_ITEM_ACTION | +| `QueueItemRejected` | QUEUE_ITEM_REJECTED | +| `QueueItemAllowed` | QUEUE_ITEM_ALLOWED | +| `AuthorBlocked` | AUTHOR_BLOCKED | +| `AuthorUnblocked` | AUTHOR_UNBLOCKED | +| `AuthorSuspended` | AUTHOR_SUSPENDED | +| `AuthorUpdated` | AUTHOR_UPDATED | +| `AuthorTrustLevelChanged` | AUTHOR_TRUST_LEVEL_CHANGED | +| `AuthorAction` | AUTHOR_ACTION | \ No newline at end of file diff --git a/docs/Models/Operations/ListWebhooksPayloadVersion.md b/docs/Models/Operations/ListWebhooksPayloadVersion.md new file mode 100644 index 0000000..5ebe2d8 --- /dev/null +++ b/docs/Models/Operations/ListWebhooksPayloadVersion.md @@ -0,0 +1,11 @@ +# ListWebhooksPayloadVersion + +Payload envelope version. V2 is the Stripe-style envelope; V1 is the legacy flat shape and is read-only via this API. + + +## Values + +| Name | Value | +| ----- | ----- | +| `V1` | V1 | +| `V2` | V2 | \ No newline at end of file diff --git a/docs/Models/Operations/ListWebhooksRequest.md b/docs/Models/Operations/ListWebhooksRequest.md new file mode 100644 index 0000000..47eba62 --- /dev/null +++ b/docs/Models/Operations/ListWebhooksRequest.md @@ -0,0 +1,9 @@ +# ListWebhooksRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ListWebhooksResponse.md b/docs/Models/Operations/ListWebhooksResponse.md new file mode 100644 index 0000000..063a3a7 --- /dev/null +++ b/docs/Models/Operations/ListWebhooksResponse.md @@ -0,0 +1,11 @@ +# ListWebhooksResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ListWebhooksResponseBody](../../Models/Operations/ListWebhooksResponseBody.md) | :heavy_minus_sign: | Webhooks retrieved successfully | \ No newline at end of file diff --git a/docs/Models/Operations/ListWebhooksResponseBody.md b/docs/Models/Operations/ListWebhooksResponseBody.md new file mode 100644 index 0000000..ea5ba1b --- /dev/null +++ b/docs/Models/Operations/ListWebhooksResponseBody.md @@ -0,0 +1,11 @@ +# ListWebhooksResponseBody + +Webhooks retrieved successfully + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `data` | array<[Operations\ListWebhooksData](../../Models/Operations/ListWebhooksData.md)> | :heavy_check_mark: | The items on this page. | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | Where this page is in the full list. | \ No newline at end of file diff --git a/docs/Models/Operations/ListWordlistsData.md b/docs/Models/Operations/ListWordlistsData.md new file mode 100644 index 0000000..fc66c17 --- /dev/null +++ b/docs/Models/Operations/ListWordlistsData.md @@ -0,0 +1,12 @@ +# ListWordlistsData + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `id` | *string* | :heavy_check_mark: | Unique identifier of the wordlist | +| `name` | *string* | :heavy_check_mark: | Name of the wordlist | +| `description` | *string* | :heavy_check_mark: | Description of the wordlist | +| `createdAt` | *string* | :heavy_check_mark: | When the wordlist was created | +| `userId` | *string* | :heavy_check_mark: | User who created the wordlist | \ No newline at end of file diff --git a/docs/Models/Operations/ListWordlistsRequest.md b/docs/Models/Operations/ListWordlistsRequest.md new file mode 100644 index 0000000..16e4bf5 --- /dev/null +++ b/docs/Models/Operations/ListWordlistsRequest.md @@ -0,0 +1,9 @@ +# ListWordlistsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ListWordlistsResponse.md b/docs/Models/Operations/ListWordlistsResponse.md new file mode 100644 index 0000000..88eff27 --- /dev/null +++ b/docs/Models/Operations/ListWordlistsResponse.md @@ -0,0 +1,11 @@ +# ListWordlistsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ListWordlistsResponseBody](../../Models/Operations/ListWordlistsResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/ListWordlistsResponseBody.md b/docs/Models/Operations/ListWordlistsResponseBody.md new file mode 100644 index 0000000..c0044ae --- /dev/null +++ b/docs/Models/Operations/ListWordlistsResponseBody.md @@ -0,0 +1,11 @@ +# ListWordlistsResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `data` | array<[Operations\ListWordlistsData](../../Models/Operations/ListWordlistsData.md)> | :heavy_check_mark: | The items on this page. | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | Where this page is in the full list. | \ No newline at end of file diff --git a/docs/Models/Operations/LowQualityContent.md b/docs/Models/Operations/LowQualityContent.md new file mode 100644 index 0000000..018c0c0 --- /dev/null +++ b/docs/Models/Operations/LowQualityContent.md @@ -0,0 +1,11 @@ +# LowQualityContent + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | +| `minWords` | *?int* | :heavy_minus_sign: | Flag content with fewer than this many words as low-effort. Defaults to 3. Set to disable by omitting. | \ No newline at end of file diff --git a/docs/Models/Operations/MatchT.md b/docs/Models/Operations/MatchT.md new file mode 100644 index 0000000..f90367d --- /dev/null +++ b/docs/Models/Operations/MatchT.md @@ -0,0 +1,13 @@ +# MatchT + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `match` | *string* | :heavy_check_mark: | N/A | +| `span` | array<*int*> | :heavy_check_mark: | N/A | +| `reasons` | array<*string*> | :heavy_minus_sign: | Stable codes explaining why a URL was flagged (URL Risk only). | +| `signals` | [?Operations\SignalsResponse](../../Models/Operations/SignalsResponse.md) | :heavy_minus_sign: | Observable properties of a URL (URL Risk only). Absent for allow/block list matches. | +| `entityType` | *?string* | :heavy_minus_sign: | Sub-type of the entity match — e.g. the NER key (email, phone, name, …) for PII matches. Absent for URL Risk and wordlist matches where the type is already encoded in the parent label. | \ No newline at end of file diff --git a/docs/Models/Operations/MatchedRule.md b/docs/Models/Operations/MatchedRule.md new file mode 100644 index 0000000..4877b46 --- /dev/null +++ b/docs/Models/Operations/MatchedRule.md @@ -0,0 +1,9 @@ +# MatchedRule + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `key` | *string* | :heavy_check_mark: | N/A | +| `name` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/MediaType.md b/docs/Models/Operations/MediaType.md new file mode 100644 index 0000000..361f4b2 --- /dev/null +++ b/docs/Models/Operations/MediaType.md @@ -0,0 +1,12 @@ +# MediaType + + +## Values + +| Name | Value | +| -------- | -------- | +| `Text` | text | +| `Image` | image | +| `Video` | video | +| `Object` | object | +| `Audio` | audio | \ No newline at end of file diff --git a/docs/Models/Operations/Meta.md b/docs/Models/Operations/Meta.md new file mode 100644 index 0000000..f80d4ef --- /dev/null +++ b/docs/Models/Operations/Meta.md @@ -0,0 +1,14 @@ +# Meta + +Metadata about the moderation request + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `status` | [Operations\MetaStatus](../../Models/Operations/MetaStatus.md) | :heavy_check_mark: | N/A | +| `timestamp` | *float* | :heavy_check_mark: | N/A | +| `channelKey` | *string* | :heavy_check_mark: | The unique key of the channel where the content was handled. Either the channel provided by you or automatically routed. | +| `usage` | *float* | :heavy_check_mark: | N/A | +| `processingTime` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/MetaStatus.md b/docs/Models/Operations/MetaStatus.md new file mode 100644 index 0000000..82dbe63 --- /dev/null +++ b/docs/Models/Operations/MetaStatus.md @@ -0,0 +1,9 @@ +# MetaStatus + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `Success` | success | +| `PartialSuccess` | partial_success | \ No newline at end of file diff --git a/docs/Models/Operations/MetaType.md b/docs/Models/Operations/MetaType.md new file mode 100644 index 0000000..1ce1fcb --- /dev/null +++ b/docs/Models/Operations/MetaType.md @@ -0,0 +1,18 @@ +# MetaType + +The meta type of content being moderated + + +## Values + +| Name | Value | +| --------- | --------- | +| `Profile` | profile | +| `Message` | message | +| `Post` | post | +| `Comment` | comment | +| `Event` | event | +| `Product` | product | +| `Review` | review | +| `Voice` | voice | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Operations/MetadataFilter.md b/docs/Models/Operations/MetadataFilter.md new file mode 100644 index 0000000..f9df729 --- /dev/null +++ b/docs/Models/Operations/MetadataFilter.md @@ -0,0 +1,9 @@ +# MetadataFilter + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `key` | *string* | :heavy_check_mark: | N/A | +| `value` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Method.md b/docs/Models/Operations/Method.md new file mode 100644 index 0000000..b7dbaa4 --- /dev/null +++ b/docs/Models/Operations/Method.md @@ -0,0 +1,9 @@ +# Method + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `RegisteredDomainToken` | registered_domain_token | +| `SubdomainToken` | subdomain_token | \ No newline at end of file diff --git a/docs/Models/Operations/Modified.md b/docs/Models/Operations/Modified.md new file mode 100644 index 0000000..855693d --- /dev/null +++ b/docs/Models/Operations/Modified.md @@ -0,0 +1,32 @@ +# Modified + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/ObjectT.md b/docs/Models/Operations/ObjectT.md new file mode 100644 index 0000000..16ad1b3 --- /dev/null +++ b/docs/Models/Operations/ObjectT.md @@ -0,0 +1,11 @@ +# ObjectT + +Object + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `data` | array | :heavy_check_mark: | Values in the object. Can be mixed content types. | \ No newline at end of file diff --git a/docs/Models/Operations/PIIMasking.md b/docs/Models/Operations/PIIMasking.md new file mode 100644 index 0000000..612ff60 --- /dev/null +++ b/docs/Models/Operations/PIIMasking.md @@ -0,0 +1,9 @@ +# PIIMasking + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `entities` | array | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/PersonalInformation.md b/docs/Models/Operations/PersonalInformation.md new file mode 100644 index 0000000..d03117f --- /dev/null +++ b/docs/Models/Operations/PersonalInformation.md @@ -0,0 +1,10 @@ +# PersonalInformation + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/PersonalStoryInsight.md b/docs/Models/Operations/PersonalStoryInsight.md new file mode 100644 index 0000000..a9615e3 --- /dev/null +++ b/docs/Models/Operations/PersonalStoryInsight.md @@ -0,0 +1,13 @@ +# PersonalStoryInsight + +Personal story insight. Includes a personal experience or story as a source of support for the statements made in the comment. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `type` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `value` | *bool* | :heavy_check_mark: | Whether the content shows personal story. | \ No newline at end of file diff --git a/docs/Models/Operations/PolicyRequest.md b/docs/Models/Operations/PolicyRequest.md new file mode 100644 index 0000000..ebbaa08 --- /dev/null +++ b/docs/Models/Operations/PolicyRequest.md @@ -0,0 +1,365 @@ +# PolicyRequest + + +## Supported Types + +### `Operations\Toxicity` + +```php +/** +* @var \ModerationApi\Models\Operations\Toxicity +*/ +Operations\Toxicity $value = /* values here */ +``` + +### `Operations\PersonalInformation` + +```php +/** +* @var \ModerationApi\Models\Operations\PersonalInformation +*/ +Operations\PersonalInformation $value = /* values here */ +``` + +### `Operations\Hate` + +```php +/** +* @var \ModerationApi\Models\Operations\Hate +*/ +Operations\Hate $value = /* values here */ +``` + +### `Operations\Illicit` + +```php +/** +* @var \ModerationApi\Models\Operations\Illicit +*/ +Operations\Illicit $value = /* values here */ +``` + +### `Operations\IllicitDrugs` + +```php +/** +* @var \ModerationApi\Models\Operations\IllicitDrugs +*/ +Operations\IllicitDrugs $value = /* values here */ +``` + +### `Operations\IllicitAlcohol` + +```php +/** +* @var \ModerationApi\Models\Operations\IllicitAlcohol +*/ +Operations\IllicitAlcohol $value = /* values here */ +``` + +### `Operations\IllicitFirearms` + +```php +/** +* @var \ModerationApi\Models\Operations\IllicitFirearms +*/ +Operations\IllicitFirearms $value = /* values here */ +``` + +### `Operations\IllicitTobacco` + +```php +/** +* @var \ModerationApi\Models\Operations\IllicitTobacco +*/ +Operations\IllicitTobacco $value = /* values here */ +``` + +### `Operations\IllicitGambling` + +```php +/** +* @var \ModerationApi\Models\Operations\IllicitGambling +*/ +Operations\IllicitGambling $value = /* values here */ +``` + +### `Operations\Cannabis` + +```php +/** +* @var \ModerationApi\Models\Operations\Cannabis +*/ +Operations\Cannabis $value = /* values here */ +``` + +### `Operations\Adult` + +```php +/** +* @var \ModerationApi\Models\Operations\Adult +*/ +Operations\Adult $value = /* values here */ +``` + +### `Operations\Crypto` + +```php +/** +* @var \ModerationApi\Models\Operations\Crypto +*/ +Operations\Crypto $value = /* values here */ +``` + +### `Operations\Sexual` + +```php +/** +* @var \ModerationApi\Models\Operations\Sexual +*/ +Operations\Sexual $value = /* values here */ +``` + +### `Operations\SexualMinors` + +```php +/** +* @var \ModerationApi\Models\Operations\SexualMinors +*/ +Operations\SexualMinors $value = /* values here */ +``` + +### `Operations\Profanity` + +```php +/** +* @var \ModerationApi\Models\Operations\Profanity +*/ +Operations\Profanity $value = /* values here */ +``` + +### `Operations\Violence` + +```php +/** +* @var \ModerationApi\Models\Operations\Violence +*/ +Operations\Violence $value = /* values here */ +``` + +### `Operations\SelfHarm` + +```php +/** +* @var \ModerationApi\Models\Operations\SelfHarm +*/ +Operations\SelfHarm $value = /* values here */ +``` + +### `Operations\Spam` + +```php +/** +* @var \ModerationApi\Models\Operations\Spam +*/ +Operations\Spam $value = /* values here */ +``` + +### `Operations\LowQualityContent` + +```php +/** +* @var \ModerationApi\Models\Operations\LowQualityContent +*/ +Operations\LowQualityContent $value = /* values here */ +``` + +### `Operations\FaceDetection` + +```php +/** +* @var \ModerationApi\Models\Operations\FaceDetection +*/ +Operations\FaceDetection $value = /* values here */ +``` + +### `Operations\SelfPromotion` + +```php +/** +* @var \ModerationApi\Models\Operations\SelfPromotion +*/ +Operations\SelfPromotion $value = /* values here */ +``` + +### `Operations\Political` + +```php +/** +* @var \ModerationApi\Models\Operations\Political +*/ +Operations\Political $value = /* values here */ +``` + +### `Operations\Religion` + +```php +/** +* @var \ModerationApi\Models\Operations\Religion +*/ +Operations\Religion $value = /* values here */ +``` + +### `Operations\Threat` + +```php +/** +* @var \ModerationApi\Models\Operations\Threat +*/ +Operations\Threat $value = /* values here */ +``` + +### `Operations\SexualSolicitation` + +```php +/** +* @var \ModerationApi\Models\Operations\SexualSolicitation +*/ +Operations\SexualSolicitation $value = /* values here */ +``` + +### `Operations\ChannelCircumvention` + +```php +/** +* @var \ModerationApi\Models\Operations\ChannelCircumvention +*/ +Operations\ChannelCircumvention $value = /* values here */ +``` + +### `Operations\IllegalTrade` + +```php +/** +* @var \ModerationApi\Models\Operations\IllegalTrade +*/ +Operations\IllegalTrade $value = /* values here */ +``` + +### `Operations\Alcohol` + +```php +/** +* @var \ModerationApi\Models\Operations\Alcohol +*/ +Operations\Alcohol $value = /* values here */ +``` + +### `Operations\Drugs` + +```php +/** +* @var \ModerationApi\Models\Operations\Drugs +*/ +Operations\Drugs $value = /* values here */ +``` + +### `Operations\Gambling` + +```php +/** +* @var \ModerationApi\Models\Operations\Gambling +*/ +Operations\Gambling $value = /* values here */ +``` + +### `Operations\Tobacco` + +```php +/** +* @var \ModerationApi\Models\Operations\Tobacco +*/ +Operations\Tobacco $value = /* values here */ +``` + +### `Operations\Weapons` + +```php +/** +* @var \ModerationApi\Models\Operations\Weapons +*/ +Operations\Weapons $value = /* values here */ +``` + +### `Operations\Promotion` + +```php +/** +* @var \ModerationApi\Models\Operations\Promotion +*/ +Operations\Promotion $value = /* values here */ +``` + +### `Operations\Extremism` + +```php +/** +* @var \ModerationApi\Models\Operations\Extremism +*/ +Operations\Extremism $value = /* values here */ +``` + +### `Operations\CodeAbuse` + +```php +/** +* @var \ModerationApi\Models\Operations\CodeAbuse +*/ +Operations\CodeAbuse $value = /* values here */ +``` + +### `Operations\UnicodeSpoofing` + +```php +/** +* @var \ModerationApi\Models\Operations\UnicodeSpoofing +*/ +Operations\UnicodeSpoofing $value = /* values here */ +``` + +### `Operations\PIIMasking` + +```php +/** +* @var \ModerationApi\Models\Operations\PIIMasking +*/ +Operations\PIIMasking $value = /* values here */ +``` + +### `Operations\URLMasking` + +```php +/** +* @var \ModerationApi\Models\Operations\URLMasking +*/ +Operations\URLMasking $value = /* values here */ +``` + +### `Operations\URLRisk` + +```php +/** +* @var \ModerationApi\Models\Operations\URLRisk +*/ +Operations\URLRisk $value = /* values here */ +``` + +### `Operations\Guideline` + +```php +/** +* @var \ModerationApi\Models\Operations\Guideline +*/ +Operations\Guideline $value = /* values here */ +``` + diff --git a/docs/Models/Operations/PolicyResponse.md b/docs/Models/Operations/PolicyResponse.md new file mode 100644 index 0000000..77b03e7 --- /dev/null +++ b/docs/Models/Operations/PolicyResponse.md @@ -0,0 +1,25 @@ +# PolicyResponse + +Policy output schema. + + +## Supported Types + +### `Operations\ClassifierOutput` + +```php +/** +* @var \ModerationApi\Models\Operations\ClassifierOutput +*/ +Operations\ClassifierOutput $value = /* values here */ +``` + +### `Operations\EntityMatcherOutput` + +```php +/** +* @var \ModerationApi\Models\Operations\EntityMatcherOutput +*/ +Operations\EntityMatcherOutput $value = /* values here */ +``` + diff --git a/docs/Models/Operations/Political.md b/docs/Models/Operations/Political.md new file mode 100644 index 0000000..369761d --- /dev/null +++ b/docs/Models/Operations/Political.md @@ -0,0 +1,10 @@ +# Political + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Profanity.md b/docs/Models/Operations/Profanity.md new file mode 100644 index 0000000..ee50e7e --- /dev/null +++ b/docs/Models/Operations/Profanity.md @@ -0,0 +1,10 @@ +# Profanity + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Promotion.md b/docs/Models/Operations/Promotion.md new file mode 100644 index 0000000..02c6851 --- /dev/null +++ b/docs/Models/Operations/Promotion.md @@ -0,0 +1,10 @@ +# Promotion + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Queue.md b/docs/Models/Operations/Queue.md new file mode 100644 index 0000000..faca6b1 --- /dev/null +++ b/docs/Models/Operations/Queue.md @@ -0,0 +1,14 @@ +# Queue + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | N/A | +| `name` | *string* | :heavy_check_mark: | N/A | +| `description` | *string* | :heavy_check_mark: | N/A | +| `filter` | [Operations\Filter](../../Models/Operations/Filter.md) | :heavy_check_mark: | N/A | +| `unresolvedItemsCount` | *float* | :heavy_check_mark: | N/A | +| `resolvedItemsCount` | *float* | :heavy_check_mark: | N/A | +| `totalItemsCount` | *float* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ReasonCode.md b/docs/Models/Operations/ReasonCode.md new file mode 100644 index 0000000..176fcaa --- /dev/null +++ b/docs/Models/Operations/ReasonCode.md @@ -0,0 +1,23 @@ +# ReasonCode + + +## Supported Types + +### `Operations\ReasonCodeEnum` + +```php +/** +* @var \ModerationApi\Models\Operations\ReasonCodeEnum +*/ +Operations\ReasonCodeEnum $value = /* values here */ +``` + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + diff --git a/docs/Models/Operations/ReasonCodeEnum.md b/docs/Models/Operations/ReasonCodeEnum.md new file mode 100644 index 0000000..771bde9 --- /dev/null +++ b/docs/Models/Operations/ReasonCodeEnum.md @@ -0,0 +1,18 @@ +# ReasonCodeEnum + + +## Values + +| Name | Value | +| ------------------- | ------------------- | +| `SeverityReject` | severity_reject | +| `SeverityReview` | severity_review | +| `AuthorBlock` | author_block | +| `DryRun` | dry_run | +| `TrustedAllow` | trusted_allow | +| `UntrustedSeverity` | untrusted_severity | +| `RuleMatch` | rule_match | +| `RuleDefault` | rule_default | +| `RuleFallback` | rule_fallback | +| `ClientOverride` | client_override | +| `CasebookMatch` | casebook_match | \ No newline at end of file diff --git a/docs/Models/Operations/Recommendation.md b/docs/Models/Operations/Recommendation.md new file mode 100644 index 0000000..7154534 --- /dev/null +++ b/docs/Models/Operations/Recommendation.md @@ -0,0 +1,12 @@ +# Recommendation + +The recommendation for the content based on the evaluation. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `action` | [Operations\SubmitContentRecommendationAction](../../Models/Operations/SubmitContentRecommendationAction.md) | :heavy_check_mark: | The action to take based on the recommendation | +| `reasonCodes` | array<[Operations\ReasonCodeEnum\|string](../../Models/Operations/ReasonCode.md)> | :heavy_check_mark: | Reason codes for the recommendation. Standard codes plus a `rule:` code identifying the rule that produced the action. Can be used to display a reason to the user. | +| `matchedRules` | array<[Operations\MatchedRule](../../Models/Operations/MatchedRule.md)> | :heavy_minus_sign: | Rules that matched during evaluation, if rules engine is active. | \ No newline at end of file diff --git a/docs/Models/Operations/Religion.md b/docs/Models/Operations/Religion.md new file mode 100644 index 0000000..6d7b9cd --- /dev/null +++ b/docs/Models/Operations/Religion.md @@ -0,0 +1,10 @@ +# Religion + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/RemoveWordlistWordsRequest.md b/docs/Models/Operations/RemoveWordlistWordsRequest.md new file mode 100644 index 0000000..1224942 --- /dev/null +++ b/docs/Models/Operations/RemoveWordlistWordsRequest.md @@ -0,0 +1,9 @@ +# RemoveWordlistWordsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to remove words from | +| `words` | array<*string*> | :heavy_check_mark: | Array of words to remove from the wordlist | \ No newline at end of file diff --git a/docs/Models/Operations/RemoveWordlistWordsResponse.md b/docs/Models/Operations/RemoveWordlistWordsResponse.md new file mode 100644 index 0000000..315b68e --- /dev/null +++ b/docs/Models/Operations/RemoveWordlistWordsResponse.md @@ -0,0 +1,11 @@ +# RemoveWordlistWordsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\RemoveWordlistWordsResponseBody](../../Models/Operations/RemoveWordlistWordsResponseBody.md) | :heavy_minus_sign: | Words successfully removed from wordlist | \ No newline at end of file diff --git a/docs/Models/Operations/RemoveWordlistWordsResponseBody.md b/docs/Models/Operations/RemoveWordlistWordsResponseBody.md new file mode 100644 index 0000000..c9d93c7 --- /dev/null +++ b/docs/Models/Operations/RemoveWordlistWordsResponseBody.md @@ -0,0 +1,12 @@ +# RemoveWordlistWordsResponseBody + +Words successfully removed from wordlist + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `removedCount` | *float* | :heavy_check_mark: | Number of words removed | +| `totalCount` | *float* | :heavy_check_mark: | Total number of words in wordlist | +| `removedWords` | array<*string*> | :heavy_check_mark: | List of words removed | \ No newline at end of file diff --git a/docs/Models/Operations/ResolveQueueItemRequest.md b/docs/Models/Operations/ResolveQueueItemRequest.md new file mode 100644 index 0000000..fe3e92d --- /dev/null +++ b/docs/Models/Operations/ResolveQueueItemRequest.md @@ -0,0 +1,10 @@ +# ResolveQueueItemRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The queue ID | +| `itemId` | *string* | :heavy_check_mark: | The item ID to resolve | +| `body` | [Operations\ResolveQueueItemRequestBody](../../Models/Operations/ResolveQueueItemRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/ResolveQueueItemRequestBody.md b/docs/Models/Operations/ResolveQueueItemRequestBody.md new file mode 100644 index 0000000..74e03e8 --- /dev/null +++ b/docs/Models/Operations/ResolveQueueItemRequestBody.md @@ -0,0 +1,8 @@ +# ResolveQueueItemRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `comment` | *?string* | :heavy_minus_sign: | Optional comment | \ No newline at end of file diff --git a/docs/Models/Operations/ResolveQueueItemResponse.md b/docs/Models/Operations/ResolveQueueItemResponse.md new file mode 100644 index 0000000..684b717 --- /dev/null +++ b/docs/Models/Operations/ResolveQueueItemResponse.md @@ -0,0 +1,11 @@ +# ResolveQueueItemResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\ResolveQueueItemResponseBody](../../Models/Operations/ResolveQueueItemResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/ResolveQueueItemResponseBody.md b/docs/Models/Operations/ResolveQueueItemResponseBody.md new file mode 100644 index 0000000..21d44bd --- /dev/null +++ b/docs/Models/Operations/ResolveQueueItemResponseBody.md @@ -0,0 +1,12 @@ +# ResolveQueueItemResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `success` | *bool* | :heavy_check_mark: | N/A | +| `resolvedAt` | *string* | :heavy_check_mark: | Timestamp when the item was resolved | +| `comment` | *?string* | :heavy_minus_sign: | Optional comment | \ No newline at end of file diff --git a/docs/Models/Operations/RespectInsight.md b/docs/Models/Operations/RespectInsight.md new file mode 100644 index 0000000..00d20e3 --- /dev/null +++ b/docs/Models/Operations/RespectInsight.md @@ -0,0 +1,13 @@ +# RespectInsight + +Respect insight. Shows deference or appreciation to others, or acknowledges the validity of another person. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `type` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `value` | *bool* | :heavy_check_mark: | Whether the content shows respect. | \ No newline at end of file diff --git a/docs/Models/Operations/ReviewStats.md b/docs/Models/Operations/ReviewStats.md new file mode 100644 index 0000000..77519fb --- /dev/null +++ b/docs/Models/Operations/ReviewStats.md @@ -0,0 +1,10 @@ +# ReviewStats + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | +| `averageTimeToReview` | *float* | :heavy_check_mark: | Average time in milliseconds to review an item | +| `totalReviewed` | *float* | :heavy_check_mark: | Total number of items reviewed | +| `totalPending` | *float* | :heavy_check_mark: | Total number of items pending review | \ No newline at end of file diff --git a/docs/Models/Operations/Scores.md b/docs/Models/Operations/Scores.md new file mode 100644 index 0000000..d415194 --- /dev/null +++ b/docs/Models/Operations/Scores.md @@ -0,0 +1,11 @@ +# Scores + +Positive and negative scored independently: mixed content scores high on both. Present whenever `value` is set. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `positive` | *float* | :heavy_check_mark: | How positive the content is, 0 to 1. | +| `negative` | *float* | :heavy_check_mark: | How negative the content is, 0 to 1. | \ No newline at end of file diff --git a/docs/Models/Operations/SelfHarm.md b/docs/Models/Operations/SelfHarm.md new file mode 100644 index 0000000..7908755 --- /dev/null +++ b/docs/Models/Operations/SelfHarm.md @@ -0,0 +1,10 @@ +# SelfHarm + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SelfPromotion.md b/docs/Models/Operations/SelfPromotion.md new file mode 100644 index 0000000..2c23bd3 --- /dev/null +++ b/docs/Models/Operations/SelfPromotion.md @@ -0,0 +1,10 @@ +# SelfPromotion + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SentimentInsight.md b/docs/Models/Operations/SentimentInsight.md new file mode 100644 index 0000000..f04d776 --- /dev/null +++ b/docs/Models/Operations/SentimentInsight.md @@ -0,0 +1,14 @@ +# SentimentInsight + +Sentiment insight + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `type` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `value` | [Operations\Value](../../Models/Operations/Value.md) | :heavy_check_mark: | N/A | +| `scores` | [?Operations\Scores](../../Models/Operations/Scores.md) | :heavy_minus_sign: | Positive and negative scored independently: mixed content scores high on both. Present whenever `value` is set. | \ No newline at end of file diff --git a/docs/Models/Operations/Sexual.md b/docs/Models/Operations/Sexual.md new file mode 100644 index 0000000..057a597 --- /dev/null +++ b/docs/Models/Operations/Sexual.md @@ -0,0 +1,10 @@ +# Sexual + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SexualMinors.md b/docs/Models/Operations/SexualMinors.md new file mode 100644 index 0000000..a6fd5c8 --- /dev/null +++ b/docs/Models/Operations/SexualMinors.md @@ -0,0 +1,10 @@ +# SexualMinors + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SexualSolicitation.md b/docs/Models/Operations/SexualSolicitation.md new file mode 100644 index 0000000..e00861c --- /dev/null +++ b/docs/Models/Operations/SexualSolicitation.md @@ -0,0 +1,10 @@ +# SexualSolicitation + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SignalsRequest.md b/docs/Models/Operations/SignalsRequest.md new file mode 100644 index 0000000..6b0ecf6 --- /dev/null +++ b/docs/Models/Operations/SignalsRequest.md @@ -0,0 +1,8 @@ +# SignalsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *?bool* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SignalsResponse.md b/docs/Models/Operations/SignalsResponse.md new file mode 100644 index 0000000..0ba31d8 --- /dev/null +++ b/docs/Models/Operations/SignalsResponse.md @@ -0,0 +1,18 @@ +# SignalsResponse + +Observable properties of a URL (URL Risk only). Absent for allow/block list matches. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `brandImpersonation` | [Operations\BrandImpersonation](../../Models/Operations/BrandImpersonation.md) | :heavy_check_mark: | N/A | +| `hasSuspiciousCharacters` | *bool* | :heavy_check_mark: | N/A | +| `isLinkShortener` | *bool* | :heavy_check_mark: | N/A | +| `domainAgeDays` | *int* | :heavy_check_mark: | N/A | +| `hasEmailSetup` | *bool* | :heavy_check_mark: | N/A | +| `redirectCount` | *int* | :heavy_check_mark: | N/A | +| `finalUrl` | *string* | :heavy_check_mark: | N/A | +| `botProtection` | *bool* | :heavy_check_mark: | N/A | +| `isReported` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SortBy.md b/docs/Models/Operations/SortBy.md new file mode 100644 index 0000000..365e410 --- /dev/null +++ b/docs/Models/Operations/SortBy.md @@ -0,0 +1,15 @@ +# SortBy + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `TrustLevel` | trustLevel | +| `ViolationCount` | violationCount | +| `ReportCount` | reportCount | +| `MemberSince` | memberSince | +| `LastActive` | lastActive | +| `ContentCount` | contentCount | +| `FlaggedContentRatio` | flaggedContentRatio | +| `AverageSentiment` | averageSentiment | \ No newline at end of file diff --git a/docs/Models/Operations/SortField.md b/docs/Models/Operations/SortField.md new file mode 100644 index 0000000..67d8777 --- /dev/null +++ b/docs/Models/Operations/SortField.md @@ -0,0 +1,10 @@ +# SortField + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `CreatedAt` | createdAt | +| `Severity` | severity | +| `ReviewedAt` | reviewedAt | \ No newline at end of file diff --git a/docs/Models/Operations/Spam.md b/docs/Models/Operations/Spam.md new file mode 100644 index 0000000..1d4503d --- /dev/null +++ b/docs/Models/Operations/Spam.md @@ -0,0 +1,10 @@ +# Spam + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SubmitContentLabel.md b/docs/Models/Operations/SubmitContentLabel.md new file mode 100644 index 0000000..f7d5eb9 --- /dev/null +++ b/docs/Models/Operations/SubmitContentLabel.md @@ -0,0 +1,11 @@ +# SubmitContentLabel + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | N/A | +| `probability` | *float* | :heavy_check_mark: | N/A | +| `flagged` | *bool* | :heavy_check_mark: | N/A | +| `shadowFlagged` | *?bool* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/SubmitContentRecommendationAction.md b/docs/Models/Operations/SubmitContentRecommendationAction.md new file mode 100644 index 0000000..902eb90 --- /dev/null +++ b/docs/Models/Operations/SubmitContentRecommendationAction.md @@ -0,0 +1,12 @@ +# SubmitContentRecommendationAction + +The action to take based on the recommendation + + +## Values + +| Name | Value | +| -------- | -------- | +| `Review` | review | +| `Allow` | allow | +| `Reject` | reject | \ No newline at end of file diff --git a/docs/Models/Operations/SubmitContentRequest.md b/docs/Models/Operations/SubmitContentRequest.md new file mode 100644 index 0000000..324c738 --- /dev/null +++ b/docs/Models/Operations/SubmitContentRequest.md @@ -0,0 +1,18 @@ +# SubmitContentRequest + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `content` | [Operations\TextRequest\|Operations\ImageRequest\|Operations\VideoRequest\|Operations\AudioRequest\|Operations\ObjectT](../../Models/Operations/ContentRequest.md) | :heavy_check_mark: | The content sent for moderation | +| `timestamp` | *?float* | :heavy_minus_sign: | Unix timestamp (in milliseconds) of when the content was created. Use if content is not submitted in real-time. | +| `channel` | *?string* | :heavy_minus_sign: | Provide a channel ID or key. Will use the project's default channel if not provided. | +| `contentId` | *?string* | :heavy_minus_sign: | The unique ID of the content in your database. | +| `metaType` | [?Operations\MetaType](../../Models/Operations/MetaType.md) | :heavy_minus_sign: | The meta type of content being moderated | +| `authorId` | *?string* | :heavy_minus_sign: | The author of the content. | +| `conversationId` | *?string* | :heavy_minus_sign: | For example the ID of a chat room or a post | +| `metadata` | array | :heavy_minus_sign: | Any metadata you want to store with the content | +| `clientAction` | [?Operations\ClientAction](../../Models/Operations/ClientAction.md) | :heavy_minus_sign: | A recommendation from your own client-side flagging (e.g. a banned-IP list or a third-party tool). Feeds the rules engine and can escalate or override the recommended action. Does not change whether our analysis flagged the content. | +| `doNotStore` | *?bool* | :heavy_minus_sign: | Do not store the content. The content won't enter the review queue | +| `policies` | array<[Operations\Toxicity\|Operations\PersonalInformation\|Operations\Hate\|Operations\Illicit\|Operations\IllicitDrugs\|Operations\IllicitAlcohol\|Operations\IllicitFirearms\|Operations\IllicitTobacco\|Operations\IllicitGambling\|Operations\Cannabis\|Operations\Adult\|Operations\Crypto\|Operations\Sexual\|Operations\SexualMinors\|Operations\Profanity\|Operations\Violence\|Operations\SelfHarm\|Operations\Spam\|Operations\LowQualityContent\|Operations\FaceDetection\|Operations\SelfPromotion\|Operations\Political\|Operations\Religion\|Operations\Threat\|Operations\SexualSolicitation\|Operations\ChannelCircumvention\|Operations\IllegalTrade\|Operations\Alcohol\|Operations\Drugs\|Operations\Gambling\|Operations\Tobacco\|Operations\Weapons\|Operations\Promotion\|Operations\Extremism\|Operations\CodeAbuse\|Operations\UnicodeSpoofing\|Operations\PIIMasking\|Operations\URLMasking\|Operations\URLRisk\|Operations\Guideline](../../Models/Operations/PolicyRequest.md)> | :heavy_minus_sign: | (Enterprise) override the channel policies for this moderation request only. | \ No newline at end of file diff --git a/docs/Models/Operations/SubmitContentResponse.md b/docs/Models/Operations/SubmitContentResponse.md new file mode 100644 index 0000000..48a09b2 --- /dev/null +++ b/docs/Models/Operations/SubmitContentResponse.md @@ -0,0 +1,11 @@ +# SubmitContentResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\SubmitContentResponseBody](../../Models/Operations/SubmitContentResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/SubmitContentResponseBody.md b/docs/Models/Operations/SubmitContentResponseBody.md new file mode 100644 index 0000000..d525632 --- /dev/null +++ b/docs/Models/Operations/SubmitContentResponseBody.md @@ -0,0 +1,18 @@ +# SubmitContentResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `content` | [Operations\ContentResponse](../../Models/Operations/ContentResponse.md) | :heavy_check_mark: | Potentially modified content. | +| `author` | [Operations\Author](../../Models/Operations/Author.md) | :heavy_check_mark: | The author of the content if your account has authors enabled. Requires you to send authorId when submitting content. | +| `evaluation` | [Operations\Evaluation](../../Models/Operations/Evaluation.md) | :heavy_check_mark: | The evaluation of the content after running the channel policies. | +| `recommendation` | [Operations\Recommendation](../../Models/Operations/Recommendation.md) | :heavy_check_mark: | The recommendation for the content based on the evaluation. | +| `casebook` | [Operations\Casebook](../../Models/Operations/Casebook.md) | :heavy_check_mark: | What your casebook — the record of your past moderation decisions — found for this content, or null when it had nothing close enough to say, when the matching cases disagreed, or when casebook lookups are not switched on for this channel. Reports what the casebook found; whether it decided the outcome is shown in `recommendation`, where a higher-priority rule may have settled the item first. | +| `policies` | array<[Operations\ClassifierOutput\|Operations\EntityMatcherOutput](../../Models/Operations/PolicyResponse.md)> | :heavy_check_mark: | Results of all policies in the channel. Sorted by highest probability. | +| `insights` | array<[Operations\SentimentInsight\|Operations\LanguageInsight\|Operations\CuriosityInsight\|Operations\RespectInsight\|Operations\PersonalStoryInsight\|Operations\CompassionInsight](../../Models/Operations/Insight.md)> | :heavy_check_mark: | Results of all insights enabled in the channel. | +| `meta` | [Operations\Meta](../../Models/Operations/Meta.md) | :heavy_check_mark: | Metadata about the moderation request | +| `errors` | array<[Operations\Error](../../Models/Operations/Error.md)> | :heavy_minus_sign: | Policies that had errors | \ No newline at end of file diff --git a/docs/Models/Operations/TextRequest.md b/docs/Models/Operations/TextRequest.md new file mode 100644 index 0000000..9d200bd --- /dev/null +++ b/docs/Models/Operations/TextRequest.md @@ -0,0 +1,11 @@ +# TextRequest + +Text + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | +| `text` | *string* | :heavy_check_mark: | The content text | \ No newline at end of file diff --git a/docs/Models/Operations/TextResponse.md b/docs/Models/Operations/TextResponse.md new file mode 100644 index 0000000..1ffd9ed --- /dev/null +++ b/docs/Models/Operations/TextResponse.md @@ -0,0 +1,11 @@ +# TextResponse + +Text + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | +| `text` | *string* | :heavy_check_mark: | The content text | \ No newline at end of file diff --git a/docs/Models/Operations/Threat.md b/docs/Models/Operations/Threat.md new file mode 100644 index 0000000..fd24750 --- /dev/null +++ b/docs/Models/Operations/Threat.md @@ -0,0 +1,10 @@ +# Threat + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Tobacco.md b/docs/Models/Operations/Tobacco.md new file mode 100644 index 0000000..a281b03 --- /dev/null +++ b/docs/Models/Operations/Tobacco.md @@ -0,0 +1,10 @@ +# Tobacco + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/TopAction.md b/docs/Models/Operations/TopAction.md new file mode 100644 index 0000000..2f4ef9d --- /dev/null +++ b/docs/Models/Operations/TopAction.md @@ -0,0 +1,10 @@ +# TopAction + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `actionId` | *string* | :heavy_check_mark: | Most used action by this reviewer | +| `actionName` | *string* | :heavy_check_mark: | Name of the most used action | +| `count` | *float* | :heavy_check_mark: | Number of times this action was used | \ No newline at end of file diff --git a/docs/Models/Operations/TopReviewer.md b/docs/Models/Operations/TopReviewer.md new file mode 100644 index 0000000..54df1a0 --- /dev/null +++ b/docs/Models/Operations/TopReviewer.md @@ -0,0 +1,13 @@ +# TopReviewer + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `userId` | *string* | :heavy_check_mark: | ID of the reviewer | +| `name` | *string* | :heavy_check_mark: | Name of the reviewer | +| `reviewCount` | *float* | :heavy_check_mark: | Number of items reviewed | +| `averageTimePerReview` | *float* | :heavy_check_mark: | Average review time in milliseconds | +| `accuracyScore` | *?float* | :heavy_minus_sign: | Optional accuracy score based on review quality metrics | +| `topActions` | array<[Operations\TopAction](../../Models/Operations/TopAction.md)> | :heavy_check_mark: | Most common actions taken by this reviewer | \ No newline at end of file diff --git a/docs/Models/Operations/Topic.md b/docs/Models/Operations/Topic.md new file mode 100644 index 0000000..97d7707 --- /dev/null +++ b/docs/Models/Operations/Topic.md @@ -0,0 +1,9 @@ +# Topic + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | N/A | +| `label` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Toxicity.md b/docs/Models/Operations/Toxicity.md new file mode 100644 index 0000000..22fe83d --- /dev/null +++ b/docs/Models/Operations/Toxicity.md @@ -0,0 +1,10 @@ +# Toxicity + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/TranscriptionQuality.md b/docs/Models/Operations/TranscriptionQuality.md new file mode 100644 index 0000000..0ccfb34 --- /dev/null +++ b/docs/Models/Operations/TranscriptionQuality.md @@ -0,0 +1,12 @@ +# TranscriptionQuality + +Trade-off between transcription speed and accuracy. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Speed` | SPEED | +| `Balanced` | BALANCED | +| `Accuracy` | ACCURACY | \ No newline at end of file diff --git a/docs/Models/Operations/Trends.md b/docs/Models/Operations/Trends.md new file mode 100644 index 0000000..0931739 --- /dev/null +++ b/docs/Models/Operations/Trends.md @@ -0,0 +1,9 @@ +# Trends + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `dailyReviewCounts` | array<[Operations\DailyReviewCount](../../Models/Operations/DailyReviewCount.md)> | :heavy_check_mark: | N/A | +| `flaggedContentTrends` | array<[Operations\FlaggedContentTrend](../../Models/Operations/FlaggedContentTrend.md)> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/TrustLevel.md b/docs/Models/Operations/TrustLevel.md new file mode 100644 index 0000000..363851b --- /dev/null +++ b/docs/Models/Operations/TrustLevel.md @@ -0,0 +1,9 @@ +# TrustLevel + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `level` | *float* | :heavy_check_mark: | Author trust level (-1, 0, 1, 2, 3, or 4) | +| `manual` | *bool* | :heavy_check_mark: | True if the trust level was set manually by a moderator | \ No newline at end of file diff --git a/docs/Models/Operations/URLMasking.md b/docs/Models/Operations/URLMasking.md new file mode 100644 index 0000000..694c4a5 --- /dev/null +++ b/docs/Models/Operations/URLMasking.md @@ -0,0 +1,9 @@ +# URLMasking + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `entities` | array | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/URLRisk.md b/docs/Models/Operations/URLRisk.md new file mode 100644 index 0000000..8097dd5 --- /dev/null +++ b/docs/Models/Operations/URLRisk.md @@ -0,0 +1,13 @@ +# URLRisk + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | +| `allowlistWordlistIds` | array<*string*> | :heavy_minus_sign: | IDs of wordlists whose entries are treated as allowed URL domains. Matches short-circuit the risk model and are never flagged. | +| `blocklistWordlistIds` | array<*string*> | :heavy_minus_sign: | IDs of wordlists whose entries are treated as blocked URL domains. Matches short-circuit the risk model and are always flagged. Blocklists take precedence over allowlists. | +| `flagLinkShorteners` | *?bool* | :heavy_minus_sign: | When true, any URL detected as a free link shortener (bit.ly, t.co, tinyurl, etc.) is always flagged regardless of risk score. Allowlist matches still win. | \ No newline at end of file diff --git a/docs/Models/Operations/UnicodeSpoofing.md b/docs/Models/Operations/UnicodeSpoofing.md new file mode 100644 index 0000000..a719f8b --- /dev/null +++ b/docs/Models/Operations/UnicodeSpoofing.md @@ -0,0 +1,11 @@ +# UnicodeSpoofing + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | +| `signals` | array | :heavy_minus_sign: | Per-signal flag toggles. Omitted spoofing signals are enabled; encoding_damage defaults to off because decode damage (U+FFFD) marks a broken pipeline, not an attack. A disabled signal is still detected and reported as a label, but does not by itself flag the policy. | \ No newline at end of file diff --git a/docs/Models/Operations/UnresolveQueueItemRequest.md b/docs/Models/Operations/UnresolveQueueItemRequest.md new file mode 100644 index 0000000..6092f03 --- /dev/null +++ b/docs/Models/Operations/UnresolveQueueItemRequest.md @@ -0,0 +1,10 @@ +# UnresolveQueueItemRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The queue ID | +| `itemId` | *string* | :heavy_check_mark: | The item ID to unresolve | +| `body` | [Operations\UnresolveQueueItemRequestBody](../../Models/Operations/UnresolveQueueItemRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UnresolveQueueItemRequestBody.md b/docs/Models/Operations/UnresolveQueueItemRequestBody.md new file mode 100644 index 0000000..4243a05 --- /dev/null +++ b/docs/Models/Operations/UnresolveQueueItemRequestBody.md @@ -0,0 +1,8 @@ +# UnresolveQueueItemRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `comment` | *?string* | :heavy_minus_sign: | Optional reason for unresolving the item | \ No newline at end of file diff --git a/docs/Models/Operations/UnresolveQueueItemResponse.md b/docs/Models/Operations/UnresolveQueueItemResponse.md new file mode 100644 index 0000000..8519f4f --- /dev/null +++ b/docs/Models/Operations/UnresolveQueueItemResponse.md @@ -0,0 +1,11 @@ +# UnresolveQueueItemResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\UnresolveQueueItemResponseBody](../../Models/Operations/UnresolveQueueItemResponseBody.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/UnresolveQueueItemResponseBody.md b/docs/Models/Operations/UnresolveQueueItemResponseBody.md new file mode 100644 index 0000000..eb73c97 --- /dev/null +++ b/docs/Models/Operations/UnresolveQueueItemResponseBody.md @@ -0,0 +1,12 @@ +# UnresolveQueueItemResponseBody + +Successful response + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `success` | *bool* | :heavy_check_mark: | N/A | +| `status` | *string* | :heavy_check_mark: | New status of the item | +| `unresolvedAt` | *string* | :heavy_check_mark: | Timestamp when the item was unresolved | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionPositionRequest.md b/docs/Models/Operations/UpdateActionPositionRequest.md new file mode 100644 index 0000000..d67aba6 --- /dev/null +++ b/docs/Models/Operations/UpdateActionPositionRequest.md @@ -0,0 +1,12 @@ +# UpdateActionPositionRequest + +Show the action in all queues, selected queues or no queues (to use via API only). + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `AllQueues` | ALL_QUEUES | +| `SomeQueues` | SOME_QUEUES | +| `Hidden` | HIDDEN | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionPositionResponse.md b/docs/Models/Operations/UpdateActionPositionResponse.md new file mode 100644 index 0000000..10e4011 --- /dev/null +++ b/docs/Models/Operations/UpdateActionPositionResponse.md @@ -0,0 +1,12 @@ +# UpdateActionPositionResponse + +Show the action in all queues, selected queues or no queues (to use via API only). + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `AllQueues` | ALL_QUEUES | +| `SomeQueues` | SOME_QUEUES | +| `Hidden` | HIDDEN | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionPossibleValueRequest.md b/docs/Models/Operations/UpdateActionPossibleValueRequest.md new file mode 100644 index 0000000..c1f8269 --- /dev/null +++ b/docs/Models/Operations/UpdateActionPossibleValueRequest.md @@ -0,0 +1,8 @@ +# UpdateActionPossibleValueRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `value` | *string* | :heavy_check_mark: | The value of the action. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionPossibleValueResponse.md b/docs/Models/Operations/UpdateActionPossibleValueResponse.md new file mode 100644 index 0000000..bae84b3 --- /dev/null +++ b/docs/Models/Operations/UpdateActionPossibleValueResponse.md @@ -0,0 +1,8 @@ +# UpdateActionPossibleValueResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `value` | *string* | :heavy_check_mark: | The value of the action. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionQueueBehaviourRequest.md b/docs/Models/Operations/UpdateActionQueueBehaviourRequest.md new file mode 100644 index 0000000..ade6cff --- /dev/null +++ b/docs/Models/Operations/UpdateActionQueueBehaviourRequest.md @@ -0,0 +1,12 @@ +# UpdateActionQueueBehaviourRequest + +Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Remove` | REMOVE | +| `Add` | ADD | +| `NoChange` | NO_CHANGE | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionQueueBehaviourResponse.md b/docs/Models/Operations/UpdateActionQueueBehaviourResponse.md new file mode 100644 index 0000000..fe99316 --- /dev/null +++ b/docs/Models/Operations/UpdateActionQueueBehaviourResponse.md @@ -0,0 +1,12 @@ +# UpdateActionQueueBehaviourResponse + +Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Remove` | REMOVE | +| `Add` | ADD | +| `NoChange` | NO_CHANGE | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionRequest.md b/docs/Models/Operations/UpdateActionRequest.md new file mode 100644 index 0000000..b190882 --- /dev/null +++ b/docs/Models/Operations/UpdateActionRequest.md @@ -0,0 +1,9 @@ +# UpdateActionRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action to update. | +| `body` | [Operations\UpdateActionRequestBody](../../Models/Operations/UpdateActionRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionRequestBody.md b/docs/Models/Operations/UpdateActionRequestBody.md new file mode 100644 index 0000000..1a684bc --- /dev/null +++ b/docs/Models/Operations/UpdateActionRequestBody.md @@ -0,0 +1,18 @@ +# UpdateActionRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `key` | *?string* | :heavy_minus_sign: | User defined key of the action. | +| `name` | *?string* | :heavy_minus_sign: | The name of the action. | +| `description` | *?string* | :heavy_minus_sign: | The description of the action. | +| `type` | [?Operations\UpdateActionTypeRequest](../../Models/Operations/UpdateActionTypeRequest.md) | :heavy_minus_sign: | The type of the action. | +| `builtIn` | *?bool* | :heavy_minus_sign: | Whether the action is a built-in action or a custom one. | +| `queueBehaviour` | [?Operations\UpdateActionQueueBehaviourRequest](../../Models/Operations/UpdateActionQueueBehaviourRequest.md) | :heavy_minus_sign: | Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. | +| `filterInQueueIds` | array<*string*> | :heavy_minus_sign: | The IDs of the queues the action is available in. | +| `position` | [?Operations\UpdateActionPositionRequest](../../Models/Operations/UpdateActionPositionRequest.md) | :heavy_minus_sign: | Show the action in all queues, selected queues or no queues (to use via API only). | +| `possibleValues` | array<[Operations\UpdateActionPossibleValueRequest](../../Models/Operations/UpdateActionPossibleValueRequest.md)> | :heavy_minus_sign: | The possible values of the action. The user will be prompted to select one of these values when executing the action. | +| `valueRequired` | *?bool* | :heavy_minus_sign: | Whether the action requires a value to be executed. | +| `freeText` | *?bool* | :heavy_minus_sign: | Whether the action allows any text to be entered as a value or if it must be one of the possible values. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionResponse.md b/docs/Models/Operations/UpdateActionResponse.md new file mode 100644 index 0000000..10cea94 --- /dev/null +++ b/docs/Models/Operations/UpdateActionResponse.md @@ -0,0 +1,11 @@ +# UpdateActionResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\UpdateActionResponseBody](../../Models/Operations/UpdateActionResponseBody.md) | :heavy_minus_sign: | Action updated successfully | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionResponseBody.md b/docs/Models/Operations/UpdateActionResponseBody.md new file mode 100644 index 0000000..1f9d734 --- /dev/null +++ b/docs/Models/Operations/UpdateActionResponseBody.md @@ -0,0 +1,22 @@ +# UpdateActionResponseBody + +Action updated successfully + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action. | +| `key` | *?string* | :heavy_minus_sign: | User defined key of the action. | +| `createdAt` | *string* | :heavy_check_mark: | The date the action was created. | +| `name` | *string* | :heavy_check_mark: | The name of the action. | +| `description` | *?string* | :heavy_minus_sign: | The description of the action. | +| `type` | [?Operations\UpdateActionTypeResponse](../../Models/Operations/UpdateActionTypeResponse.md) | :heavy_minus_sign: | The type of the action. | +| `builtIn` | *?bool* | :heavy_minus_sign: | Whether the action is a built-in action or a custom one. | +| `queueBehaviour` | [?Operations\UpdateActionQueueBehaviourResponse](../../Models/Operations/UpdateActionQueueBehaviourResponse.md) | :heavy_minus_sign: | Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. | +| `filterInQueueIds` | array<*string*> | :heavy_check_mark: | The IDs of the queues the action is available in. | +| `position` | [?Operations\UpdateActionPositionResponse](../../Models/Operations/UpdateActionPositionResponse.md) | :heavy_minus_sign: | Show the action in all queues, selected queues or no queues (to use via API only). | +| `possibleValues` | array<[Operations\UpdateActionPossibleValueResponse](../../Models/Operations/UpdateActionPossibleValueResponse.md)> | :heavy_check_mark: | The possible values of the action. The user will be prompted to select one of these values when executing the action. | +| `valueRequired` | *?bool* | :heavy_minus_sign: | Whether the action requires a value to be executed. | +| `freeText` | *?bool* | :heavy_minus_sign: | Whether the action allows any text to be entered as a value or if it must be one of the possible values. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionTypeRequest.md b/docs/Models/Operations/UpdateActionTypeRequest.md new file mode 100644 index 0000000..8fef816 --- /dev/null +++ b/docs/Models/Operations/UpdateActionTypeRequest.md @@ -0,0 +1,17 @@ +# UpdateActionTypeRequest + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `AuthorBlock` | AUTHOR_BLOCK | +| `AuthorBlockTemp` | AUTHOR_BLOCK_TEMP | +| `AuthorUnblock` | AUTHOR_UNBLOCK | +| `AuthorDelete` | AUTHOR_DELETE | +| `AuthorReport` | AUTHOR_REPORT | +| `AuthorWarn` | AUTHOR_WARN | +| `AuthorCustom` | AUTHOR_CUSTOM | +| `ItemReject` | ITEM_REJECT | +| `ItemAllow` | ITEM_ALLOW | +| `ItemCustom` | ITEM_CUSTOM | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateActionTypeResponse.md b/docs/Models/Operations/UpdateActionTypeResponse.md new file mode 100644 index 0000000..9ed8d5d --- /dev/null +++ b/docs/Models/Operations/UpdateActionTypeResponse.md @@ -0,0 +1,17 @@ +# UpdateActionTypeResponse + + +## Values + +| Name | Value | +| ----------------- | ----------------- | +| `AuthorBlock` | AUTHOR_BLOCK | +| `AuthorBlockTemp` | AUTHOR_BLOCK_TEMP | +| `AuthorUnblock` | AUTHOR_UNBLOCK | +| `AuthorDelete` | AUTHOR_DELETE | +| `AuthorReport` | AUTHOR_REPORT | +| `AuthorWarn` | AUTHOR_WARN | +| `AuthorCustom` | AUTHOR_CUSTOM | +| `ItemReject` | ITEM_REJECT | +| `ItemAllow` | ITEM_ALLOW | +| `ItemCustom` | ITEM_CUSTOM | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateAuthorMetadata.md b/docs/Models/Operations/UpdateAuthorMetadata.md new file mode 100644 index 0000000..de613f8 --- /dev/null +++ b/docs/Models/Operations/UpdateAuthorMetadata.md @@ -0,0 +1,14 @@ +# UpdateAuthorMetadata + +Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | +| `emailVerified` | *?bool* | :heavy_minus_sign: | Whether the author's email is verified | +| `phoneVerified` | *?bool* | :heavy_minus_sign: | Whether the author's phone number is verified | +| `identityVerified` | *?bool* | :heavy_minus_sign: | Whether the author's identity is verified | +| `isPayingCustomer` | *?bool* | :heavy_minus_sign: | Whether the author is a paying customer | +| `additionalProperties` | array | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateAuthorRequest.md b/docs/Models/Operations/UpdateAuthorRequest.md new file mode 100644 index 0000000..df4b8f9 --- /dev/null +++ b/docs/Models/Operations/UpdateAuthorRequest.md @@ -0,0 +1,9 @@ +# UpdateAuthorRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Either external ID or the ID assigned by moderation API. | +| `body` | [Operations\UpdateAuthorRequestBody](../../Models/Operations/UpdateAuthorRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateAuthorRequestBody.md b/docs/Models/Operations/UpdateAuthorRequestBody.md new file mode 100644 index 0000000..f2131de --- /dev/null +++ b/docs/Models/Operations/UpdateAuthorRequestBody.md @@ -0,0 +1,16 @@ +# UpdateAuthorRequestBody + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| `profilePicture` | *?string* | :heavy_minus_sign: | URL of the author's profile picture | +| `externalLink` | *?string* | :heavy_minus_sign: | URL of the author's external profile | +| `name` | *?string* | :heavy_minus_sign: | Author name or identifier | +| `email` | *?string* | :heavy_minus_sign: | Author email address | +| `company` | *?string* | :heavy_minus_sign: | The author's company or organization | +| `metadata` | [?Operations\UpdateAuthorMetadata](../../Models/Operations/UpdateAuthorMetadata.md) | :heavy_minus_sign: | Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. | +| `firstSeen` | *?float* | :heavy_minus_sign: | Timestamp when author first appeared | +| `lastSeen` | *?float* | :heavy_minus_sign: | Timestamp of last activity | +| `manualTrustLevel` | *?float* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateAuthorResponse.md b/docs/Models/Operations/UpdateAuthorResponse.md new file mode 100644 index 0000000..e3a0979 --- /dev/null +++ b/docs/Models/Operations/UpdateAuthorResponse.md @@ -0,0 +1,11 @@ +# UpdateAuthorResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `publicAuthor` | [?Components\PublicAuthor](../../Models/Components/PublicAuthor.md) | :heavy_minus_sign: | Successful response | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateChannelContentType.md b/docs/Models/Operations/UpdateChannelContentType.md new file mode 100644 index 0000000..0f1cfc3 --- /dev/null +++ b/docs/Models/Operations/UpdateChannelContentType.md @@ -0,0 +1,18 @@ +# UpdateChannelContentType + +The kind of content the channel moderates. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Profile` | profile | +| `Message` | message | +| `Post` | post | +| `Comment` | comment | +| `Event` | event | +| `Product` | product | +| `Review` | review | +| `Voice` | voice | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateChannelRequest.md b/docs/Models/Operations/UpdateChannelRequest.md new file mode 100644 index 0000000..24a0033 --- /dev/null +++ b/docs/Models/Operations/UpdateChannelRequest.md @@ -0,0 +1,9 @@ +# UpdateChannelRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the channel to update. | +| `body` | [Operations\UpdateChannelRequestBody](../../Models/Operations/UpdateChannelRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateChannelRequestBody.md b/docs/Models/Operations/UpdateChannelRequestBody.md new file mode 100644 index 0000000..e269802 --- /dev/null +++ b/docs/Models/Operations/UpdateChannelRequestBody.md @@ -0,0 +1,23 @@ +# UpdateChannelRequestBody + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `name` | *?string* | :heavy_minus_sign: | The channel's name. | +| `key` | *?string* | :heavy_minus_sign: | The key you pass as `channel` when you moderate content. Changing it breaks integrations that send the old key. | +| `description` | *?string* | :heavy_minus_sign: | The channel's description. | +| `contentType` | [?Operations\UpdateChannelContentType](../../Models/Operations/UpdateChannelContentType.md) | :heavy_minus_sign: | The kind of content the channel moderates. | +| `flaggingMode` | [?Operations\FlaggingMode](../../Models/Operations/FlaggingMode.md) | :heavy_minus_sign: | `ACTIVE` flags content. `DRY_RUN` evaluates content without flagging it. | +| `contextEnabled` | *?bool* | :heavy_minus_sign: | Whether earlier messages in the conversation are read when moderating a message. | +| `enableImageModeration` | *?bool* | :heavy_minus_sign: | Whether images are moderated. | +| `enableVideoModeration` | *?bool* | :heavy_minus_sign: | Whether videos are moderated. | +| `enableAudioModeration` | *?bool* | :heavy_minus_sign: | Whether audio is moderated. | +| `enableVoiceModeration` | *?bool* | :heavy_minus_sign: | Whether real-time voice streams are moderated. | +| `includeTranscriptInResponse` | *?bool* | :heavy_minus_sign: | Whether audio and video transcripts are returned in responses. | +| `transcriptionQuality` | [?Operations\TranscriptionQuality](../../Models/Operations/TranscriptionQuality.md) | :heavy_minus_sign: | Trade-off between transcription speed and accuracy. | +| `unicodeSpoofDetectionEnabled` | *?bool* | :heavy_minus_sign: | Whether look-alike Unicode characters are normalized before moderation. | +| `frameCaptureInterval` | *?float* | :heavy_minus_sign: | Seconds between frames captured from a video. | +| `maxFramesPerVideo` | *?int* | :heavy_minus_sign: | The most frames moderated per video. | +| `spreadFrames` | *?bool* | :heavy_minus_sign: | Whether frames are spread evenly across the whole video. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateChannelResponse.md b/docs/Models/Operations/UpdateChannelResponse.md new file mode 100644 index 0000000..17e4290 --- /dev/null +++ b/docs/Models/Operations/UpdateChannelResponse.md @@ -0,0 +1,11 @@ +# UpdateChannelResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `channel` | [?Components\Channel](../../Models/Components/Channel.md) | :heavy_minus_sign: | Channel updated successfully | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateProjectRequest.md b/docs/Models/Operations/UpdateProjectRequest.md new file mode 100644 index 0000000..b91f008 --- /dev/null +++ b/docs/Models/Operations/UpdateProjectRequest.md @@ -0,0 +1,9 @@ +# UpdateProjectRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the project to update. | +| `body` | [Operations\UpdateProjectRequestBody](../../Models/Operations/UpdateProjectRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateProjectRequestBody.md b/docs/Models/Operations/UpdateProjectRequestBody.md new file mode 100644 index 0000000..7d70cea --- /dev/null +++ b/docs/Models/Operations/UpdateProjectRequestBody.md @@ -0,0 +1,14 @@ +# UpdateProjectRequestBody + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `name` | *?string* | :heavy_minus_sign: | The project's name. | +| `description` | *?string* | :heavy_minus_sign: | The project's description. | +| `domain` | *?string* | :heavy_minus_sign: | The website or app the project moderates content for. Setting it on a project without context writes one. | +| `context` | *?string* | :heavy_minus_sign: | What the platform is and who uses it. | +| `globalFlaggingMode` | [?Operations\GlobalFlaggingMode](../../Models/Operations/GlobalFlaggingMode.md) | :heavy_minus_sign: | `ACTIVE` flags content. `DRY_RUN` evaluates without flagging. | +| `enableRequestLogging` | *?bool* | :heavy_minus_sign: | Whether moderated content is stored and shown in the dashboard. | +| `casebookEnabled` | *?bool* | :heavy_minus_sign: | Whether review queue decisions are recorded in the casebook. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateProjectResponse.md b/docs/Models/Operations/UpdateProjectResponse.md new file mode 100644 index 0000000..0d461c2 --- /dev/null +++ b/docs/Models/Operations/UpdateProjectResponse.md @@ -0,0 +1,11 @@ +# UpdateProjectResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `project` | [?Components\Project](../../Models/Components/Project.md) | :heavy_minus_sign: | Project updated successfully | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWebhookEventTypeRequest.md b/docs/Models/Operations/UpdateWebhookEventTypeRequest.md new file mode 100644 index 0000000..2e1e2a8 --- /dev/null +++ b/docs/Models/Operations/UpdateWebhookEventTypeRequest.md @@ -0,0 +1,18 @@ +# UpdateWebhookEventTypeRequest + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `QueueItemNew` | QUEUE_ITEM_NEW | +| `QueueItemCompleted` | QUEUE_ITEM_COMPLETED | +| `QueueItemAction` | QUEUE_ITEM_ACTION | +| `QueueItemRejected` | QUEUE_ITEM_REJECTED | +| `QueueItemAllowed` | QUEUE_ITEM_ALLOWED | +| `AuthorBlocked` | AUTHOR_BLOCKED | +| `AuthorUnblocked` | AUTHOR_UNBLOCKED | +| `AuthorSuspended` | AUTHOR_SUSPENDED | +| `AuthorUpdated` | AUTHOR_UPDATED | +| `AuthorTrustLevelChanged` | AUTHOR_TRUST_LEVEL_CHANGED | +| `AuthorAction` | AUTHOR_ACTION | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWebhookEventTypeResponse.md b/docs/Models/Operations/UpdateWebhookEventTypeResponse.md new file mode 100644 index 0000000..acc82e2 --- /dev/null +++ b/docs/Models/Operations/UpdateWebhookEventTypeResponse.md @@ -0,0 +1,18 @@ +# UpdateWebhookEventTypeResponse + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `QueueItemNew` | QUEUE_ITEM_NEW | +| `QueueItemCompleted` | QUEUE_ITEM_COMPLETED | +| `QueueItemAction` | QUEUE_ITEM_ACTION | +| `QueueItemRejected` | QUEUE_ITEM_REJECTED | +| `QueueItemAllowed` | QUEUE_ITEM_ALLOWED | +| `AuthorBlocked` | AUTHOR_BLOCKED | +| `AuthorUnblocked` | AUTHOR_UNBLOCKED | +| `AuthorSuspended` | AUTHOR_SUSPENDED | +| `AuthorUpdated` | AUTHOR_UPDATED | +| `AuthorTrustLevelChanged` | AUTHOR_TRUST_LEVEL_CHANGED | +| `AuthorAction` | AUTHOR_ACTION | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWebhookPayloadVersion.md b/docs/Models/Operations/UpdateWebhookPayloadVersion.md new file mode 100644 index 0000000..3c4ac28 --- /dev/null +++ b/docs/Models/Operations/UpdateWebhookPayloadVersion.md @@ -0,0 +1,11 @@ +# UpdateWebhookPayloadVersion + +Payload envelope version. V2 is the Stripe-style envelope; V1 is the legacy flat shape and is read-only via this API. + + +## Values + +| Name | Value | +| ----- | ----- | +| `V1` | V1 | +| `V2` | V2 | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWebhookRequest.md b/docs/Models/Operations/UpdateWebhookRequest.md new file mode 100644 index 0000000..549a98f --- /dev/null +++ b/docs/Models/Operations/UpdateWebhookRequest.md @@ -0,0 +1,9 @@ +# UpdateWebhookRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook to update. | +| `body` | [Operations\UpdateWebhookRequestBody](../../Models/Operations/UpdateWebhookRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWebhookRequestBody.md b/docs/Models/Operations/UpdateWebhookRequestBody.md new file mode 100644 index 0000000..03d35eb --- /dev/null +++ b/docs/Models/Operations/UpdateWebhookRequestBody.md @@ -0,0 +1,11 @@ +# UpdateWebhookRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `name` | *?string* | :heavy_minus_sign: | The webhook's name, used to identify it in the dashboard | +| `description` | *?string* | :heavy_minus_sign: | The webhook's description | +| `url` | *?string* | :heavy_minus_sign: | The webhook's URL. We'll call this URL when an event occurs. | +| `eventTypes` | array<[Operations\UpdateWebhookEventTypeRequest](../../Models/Operations/UpdateWebhookEventTypeRequest.md)> | :heavy_minus_sign: | Event types this webhook subscribes to. One webhook URL receives all events you list here. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWebhookResponse.md b/docs/Models/Operations/UpdateWebhookResponse.md new file mode 100644 index 0000000..27a9a53 --- /dev/null +++ b/docs/Models/Operations/UpdateWebhookResponse.md @@ -0,0 +1,11 @@ +# UpdateWebhookResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\UpdateWebhookResponseBody](../../Models/Operations/UpdateWebhookResponseBody.md) | :heavy_minus_sign: | Webhook updated successfully | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWebhookResponseBody.md b/docs/Models/Operations/UpdateWebhookResponseBody.md new file mode 100644 index 0000000..b3440f5 --- /dev/null +++ b/docs/Models/Operations/UpdateWebhookResponseBody.md @@ -0,0 +1,16 @@ +# UpdateWebhookResponseBody + +Webhook updated successfully + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook. | +| `name` | *string* | :heavy_check_mark: | The webhook's name. | +| `description` | *?string* | :heavy_minus_sign: | The webhook's description. | +| `url` | *string* | :heavy_check_mark: | The URL we call when a subscribed event occurs. | +| `eventTypes` | array<[Operations\UpdateWebhookEventTypeResponse](../../Models/Operations/UpdateWebhookEventTypeResponse.md)> | :heavy_check_mark: | Event types this webhook subscribes to. Empty for legacy v1 webhooks, which subscribe via their single deprecated `type` instead. | +| `payloadVersion` | [Operations\UpdateWebhookPayloadVersion](../../Models/Operations/UpdateWebhookPayloadVersion.md) | :heavy_check_mark: | Payload envelope version. V2 is the Stripe-style envelope; V1 is the legacy flat shape and is read-only via this API. | +| `createdAt` | *string* | :heavy_check_mark: | The date the webhook was created. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWordlistRequest.md b/docs/Models/Operations/UpdateWordlistRequest.md new file mode 100644 index 0000000..02e2243 --- /dev/null +++ b/docs/Models/Operations/UpdateWordlistRequest.md @@ -0,0 +1,9 @@ +# UpdateWordlistRequest + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to update | +| `body` | [Operations\UpdateWordlistRequestBody](../../Models/Operations/UpdateWordlistRequestBody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWordlistRequestBody.md b/docs/Models/Operations/UpdateWordlistRequestBody.md new file mode 100644 index 0000000..d4be52f --- /dev/null +++ b/docs/Models/Operations/UpdateWordlistRequestBody.md @@ -0,0 +1,12 @@ +# UpdateWordlistRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `name` | *?string* | :heavy_minus_sign: | New name for the wordlist | +| `key` | *?string* | :heavy_minus_sign: | New key for the wordlist | +| `description` | *?string* | :heavy_minus_sign: | New description for the wordlist | +| `words` | array<*string*> | :heavy_minus_sign: | New words for the wordlist. Replace the existing words with these new ones. Duplicate words will be ignored. | +| `strict` | *?bool* | :heavy_minus_sign: | Deprecated. Now using threshold in project settings. | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWordlistResponse.md b/docs/Models/Operations/UpdateWordlistResponse.md new file mode 100644 index 0000000..2b9de8d --- /dev/null +++ b/docs/Models/Operations/UpdateWordlistResponse.md @@ -0,0 +1,11 @@ +# UpdateWordlistResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\UpdateWordlistResponseBody](../../Models/Operations/UpdateWordlistResponseBody.md) | :heavy_minus_sign: | Wordlist updated successfully | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateWordlistResponseBody.md b/docs/Models/Operations/UpdateWordlistResponseBody.md new file mode 100644 index 0000000..12cf8c3 --- /dev/null +++ b/docs/Models/Operations/UpdateWordlistResponseBody.md @@ -0,0 +1,16 @@ +# UpdateWordlistResponseBody + +Wordlist updated successfully + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist | +| `name` | *string* | :heavy_check_mark: | N/A | +| `words` | array<*string*> | :heavy_check_mark: | Words in the wordlist | +| `createdAt` | *string* | :heavy_check_mark: | Creation date of the wordlist | +| `organizationId` | *string* | :heavy_check_mark: | ID of the organization | +| `userId` | *string* | :heavy_check_mark: | N/A | +| `strict` | *bool* | :heavy_check_mark: | Strict mode | \ No newline at end of file diff --git a/docs/Models/Operations/Value.md b/docs/Models/Operations/Value.md new file mode 100644 index 0000000..0796161 --- /dev/null +++ b/docs/Models/Operations/Value.md @@ -0,0 +1,10 @@ +# Value + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `Positive` | positive | +| `Neutral` | neutral | +| `Negative` | negative | \ No newline at end of file diff --git a/docs/Models/Operations/Verdict.md b/docs/Models/Operations/Verdict.md new file mode 100644 index 0000000..beeb477 --- /dev/null +++ b/docs/Models/Operations/Verdict.md @@ -0,0 +1,11 @@ +# Verdict + +The ruling your past decisions point to for this content. + + +## Values + +| Name | Value | +| -------- | -------- | +| `Allow` | allow | +| `Reject` | reject | \ No newline at end of file diff --git a/docs/Models/Operations/VideoRequest.md b/docs/Models/Operations/VideoRequest.md new file mode 100644 index 0000000..f1d6132 --- /dev/null +++ b/docs/Models/Operations/VideoRequest.md @@ -0,0 +1,11 @@ +# VideoRequest + +Video + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *string* | :heavy_check_mark: | A public URL of the video content | \ No newline at end of file diff --git a/docs/Models/Operations/VideoResponse.md b/docs/Models/Operations/VideoResponse.md new file mode 100644 index 0000000..271a37b --- /dev/null +++ b/docs/Models/Operations/VideoResponse.md @@ -0,0 +1,11 @@ +# VideoResponse + +Video + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | +| `url` | *string* | :heavy_check_mark: | A public URL of the video content | \ No newline at end of file diff --git a/docs/Models/Operations/Violence.md b/docs/Models/Operations/Violence.md new file mode 100644 index 0000000..9f4567a --- /dev/null +++ b/docs/Models/Operations/Violence.md @@ -0,0 +1,10 @@ +# Violence + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/Weapons.md b/docs/Models/Operations/Weapons.md new file mode 100644 index 0000000..d3d7168 --- /dev/null +++ b/docs/Models/Operations/Weapons.md @@ -0,0 +1,10 @@ +# Weapons + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `flag` | *bool* | :heavy_check_mark: | N/A | +| `threshold` | *?float* | :heavy_minus_sign: | N/A | +| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/WithinUnit.md b/docs/Models/Operations/WithinUnit.md new file mode 100644 index 0000000..6f52a87 --- /dev/null +++ b/docs/Models/Operations/WithinUnit.md @@ -0,0 +1,13 @@ +# WithinUnit + + +## Values + +| Name | Value | +| --------- | --------- | +| `Minutes` | MINUTES | +| `Hours` | HOURS | +| `Days` | DAYS | +| `Weeks` | WEEKS | +| `Months` | MONTHS | +| `Years` | YEARS | \ No newline at end of file diff --git a/docs/sdks/account/README.md b/docs/sdks/account/README.md new file mode 100644 index 0000000..bd2ebc5 --- /dev/null +++ b/docs/sdks/account/README.md @@ -0,0 +1,50 @@ +# Account + +## Overview + +### Available Operations + +* [retrieve](#retrieve) - Get account details + +## retrieve + +Get account details + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->account->retrieve( + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Response + +**[?Operations\GetAccountResponse](../../Models/Operations/GetAccountResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/actions/README.md b/docs/sdks/actions/README.md new file mode 100644 index 0000000..0047130 --- /dev/null +++ b/docs/sdks/actions/README.md @@ -0,0 +1,344 @@ +# Actions + +## Overview + +### Available Operations + +* [list](#list) - List moderation actions +* [create](#create) - Create an action +* [retrieve](#retrieve) - Get an action +* [update](#update) - Update an action +* [delete](#delete) - Delete an action +* [execute](#execute) - Execute moderation action + +## list + +List the moderation actions of the project. The list is paginated. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->actions->list( + page: 1, + pageSize: 20 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `queueId` | *?string* | :heavy_minus_sign: | N/A | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | + +### Response + +**[?Operations\ListActionsResponse](../../Models/Operations/ListActionsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## create + +Create an action. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\CreateActionRequest( + key: 'suspend-24h', + name: 'Suspend for 24 hours', + type: Operations\CreateActionTypeRequest::AuthorBlockTemp, + queueBehaviour: Operations\CreateActionQueueBehaviourRequest::Remove, +); + +$response = $sdk->actions->create( + request: $request +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `$request` | [Operations\CreateActionRequest](../../Models/Operations/CreateActionRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\CreateActionResponse](../../Models/Operations/CreateActionResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\ConflictError | 409 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## retrieve + +Get an action by ID. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->actions->retrieve( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action to get. | + +### Response + +**[?Operations\GetActionResponse](../../Models/Operations/GetActionResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## update + +Update an action. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\UpdateActionRequestBody(); + +$response = $sdk->actions->update( + id: '', + body: $body + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action to update. | +| `body` | [Operations\UpdateActionRequestBody](../../Models/Operations/UpdateActionRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\UpdateActionResponse](../../Models/Operations/UpdateActionResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\ConflictError | 409 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## delete + +Delete an action and all of its webhooks. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->actions->delete( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the action to delete. | + +### Response + +**[?Operations\DeleteActionResponse](../../Models/Operations/DeleteActionResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## execute + +Execute a moderation action on one or more content items. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\ExecuteActionRequest( + actionKey: 'suspend-24h', + authorIds: [ + 'user-1092', + ], +); + +$response = $sdk->actions->execute( + request: $request +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `$request` | [Operations\ExecuteActionRequest](../../Models/Operations/ExecuteActionRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\ExecuteActionResponse](../../Models/Operations/ExecuteActionResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/authors/README.md b/docs/sdks/authors/README.md new file mode 100644 index 0000000..8fdd88f --- /dev/null +++ b/docs/sdks/authors/README.md @@ -0,0 +1,297 @@ +# Authors + +## Overview + +### Available Operations + +* [list](#list) - List authors +* [create](#create) - Create a new author +* [retrieve](#retrieve) - Get author details +* [update](#update) - Update author details +* [delete](#delete) - Delete an author + +## list + +List authors with their activity metrics and reputation. The list is paginated. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\ListAuthorsRequest(); + +$responses = $sdk->authors->list( + request: $request +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `$request` | [Operations\ListAuthorsRequest](../../Models/Operations/ListAuthorsRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\ListAuthorsResponse](../../Models/Operations/ListAuthorsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## create + +Create a new author. Typically not needed as authors are created automatically when content is moderated. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\CreateAuthorRequest( + name: 'Jamie Rivera', + email: 'jamie@example.com', + metadata: new Operations\CreateAuthorMetadata( + emailVerified: true, + isPayingCustomer: false, + ), + externalId: 'user-1092', +); + +$response = $sdk->authors->create( + request: $request +); + +if ($response->publicAuthor !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `$request` | [Operations\CreateAuthorRequest](../../Models/Operations/CreateAuthorRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\CreateAuthorResponse](../../Models/Operations/CreateAuthorResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## retrieve + +Get detailed information about a specific author including historical data and analysis + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->authors->retrieve( + id: '' +); + +if ($response->publicAuthor !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Either external ID or the ID assigned by moderation API. | + +### Response + +**[?Operations\GetAuthorResponse](../../Models/Operations/GetAuthorResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## update + +Update the details of a specific author + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\UpdateAuthorRequestBody( + metadata: new Operations\UpdateAuthorMetadata( + identityVerified: true, + ), + manualTrustLevel: 2, +); + +$response = $sdk->authors->update( + id: '', + body: $body + +); + +if ($response->publicAuthor !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Either external ID or the ID assigned by moderation API. | +| `body` | [Operations\UpdateAuthorRequestBody](../../Models/Operations/UpdateAuthorRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\UpdateAuthorResponse](../../Models/Operations/UpdateAuthorResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## delete + +Delete a specific author. This resets the author: status, blocks, trust level, metrics and action history are removed. The author is created again with a clean record the next time content is moderated for the same ID. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->authors->delete( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | Either external ID or the ID assigned by moderation API. | + +### Response + +**[?Operations\DeleteAuthorResponse](../../Models/Operations/DeleteAuthorResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/channels/README.md b/docs/sdks/channels/README.md new file mode 100644 index 0000000..9e739cc --- /dev/null +++ b/docs/sdks/channels/README.md @@ -0,0 +1,344 @@ +# Channels + +## Overview + +### Available Operations + +* [list](#list) - List channels +* [create](#create) - Create a channel +* [retrieve](#retrieve) - Get a channel +* [update](#update) - Update a channel +* [delete](#delete) - Delete a channel +* [duplicate](#duplicate) - Duplicate a channel + +## list + +List the channels in a project. The list is paginated. Needs the `channels:read` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->channels->list( + projectId: '', + page: 1, + pageSize: 20 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `projectId` | *string* | :heavy_check_mark: | The ID of the project. | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | + +### Response + +**[?Operations\ListChannelsResponse](../../Models/Operations/ListChannelsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## create + +Create a channel in a project, with the default rules. The project's first channel becomes its default. Needs the `channels:write` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\CreateChannelRequestBody( + name: '', +); + +$response = $sdk->channels->create( + projectId: '', + body: $body + +); + +if ($response->channel !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `projectId` | *string* | :heavy_check_mark: | The ID of the project to add the channel to. | +| `body` | [Operations\CreateChannelRequestBody](../../Models/Operations/CreateChannelRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\CreateChannelResponse](../../Models/Operations/CreateChannelResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## retrieve + +Get a channel by ID. Needs the `channels:read` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->channels->retrieve( + id: '' +); + +if ($response->channel !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the channel. | + +### Response + +**[?Operations\GetChannelResponse](../../Models/Operations/GetChannelResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## update + +Update a channel. Fields you leave out keep their value. Needs the `channels:write` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\UpdateChannelRequestBody(); + +$response = $sdk->channels->update( + id: '', + body: $body + +); + +if ($response->channel !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the channel to update. | +| `body` | [Operations\UpdateChannelRequestBody](../../Models/Operations/UpdateChannelRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\UpdateChannelResponse](../../Models/Operations/UpdateChannelResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## delete + +Delete a channel. Its key is freed for a new channel. When it was the default, the oldest remaining channel becomes the default. A channel that still moderates a Slack workspace must be disconnected first. Needs the `channels:write` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->channels->delete( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the channel. | + +### Response + +**[?Operations\DeleteChannelResponse](../../Models/Operations/DeleteChannelResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## duplicate + +Copy a channel in its project, with every setting, policy, rule and wordlist. Integrations (Discord, Slack, WordPress) are not copied. Needs the `channels:write` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\DuplicateChannelRequestBody(); + +$response = $sdk->channels->duplicate( + id: '', + body: $body + +); + +if ($response->channel !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the channel to copy. | +| `body` | [Operations\DuplicateChannelRequestBody](../../Models/Operations/DuplicateChannelRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\DuplicateChannelResponse](../../Models/Operations/DuplicateChannelResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/content/README.md b/docs/sdks/content/README.md new file mode 100644 index 0000000..3daed3c --- /dev/null +++ b/docs/sdks/content/README.md @@ -0,0 +1,68 @@ +# Content + +## Overview + +### Available Operations + +* [submit](#submit) + +## submit + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\SubmitContentRequest( + content: new Operations\TextRequest( + text: 'Hey, check out my profile for a deal!', + ), + contentId: 'message-48213', + authorId: 'user-1092', + conversationId: 'room-general', + metadata: [ + 'platform' => 'ios', + ], +); + +$response = $sdk->content->submit( + request: $request +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `$request` | [Operations\SubmitContentRequest](../../Models/Operations/SubmitContentRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\SubmitContentResponse](../../Models/Operations/SubmitContentResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/items/README.md b/docs/sdks/items/README.md new file mode 100644 index 0000000..31e031a --- /dev/null +++ b/docs/sdks/items/README.md @@ -0,0 +1,188 @@ +# Queue.Items + +## Overview + +### Available Operations + +* [list](#list) - Get queue items +* [resolve](#resolve) - Resolve a queue item +* [unresolve](#unresolve) - Unresolve a queue item + +## list + +Get paginated list of items in a moderation queue with filtering options + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\ListQueueItemsRequest( + id: '', +); + +$responses = $sdk->queue->items->list( + request: $request +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `$request` | [Operations\ListQueueItemsRequest](../../Models/Operations/ListQueueItemsRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\ListQueueItemsResponse](../../Models/Operations/ListQueueItemsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## resolve + +Mark a queue item as resolved with a specific moderation action + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\ResolveQueueItemRequestBody( + comment: 'Reviewed: no violation.', +); + +$response = $sdk->queue->items->resolve( + id: '', + itemId: '', + body: $body + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The queue ID | +| `itemId` | *string* | :heavy_check_mark: | The item ID to resolve | +| `body` | [Operations\ResolveQueueItemRequestBody](../../Models/Operations/ResolveQueueItemRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\ResolveQueueItemResponse](../../Models/Operations/ResolveQueueItemResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## unresolve + +Mark a previously resolved queue item as unresolved/pending + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\UnresolveQueueItemRequestBody( + comment: 'Reopened after an appeal.', +); + +$response = $sdk->queue->items->unresolve( + id: '', + itemId: '', + body: $body + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The queue ID | +| `itemId` | *string* | :heavy_check_mark: | The item ID to unresolve | +| `body` | [Operations\UnresolveQueueItemRequestBody](../../Models/Operations/UnresolveQueueItemRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\UnresolveQueueItemResponse](../../Models/Operations/UnresolveQueueItemResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/projects/README.md b/docs/sdks/projects/README.md new file mode 100644 index 0000000..e73dfa1 --- /dev/null +++ b/docs/sdks/projects/README.md @@ -0,0 +1,336 @@ +# Projects + +## Overview + +### Available Operations + +* [list](#list) - List projects +* [create](#create) - Create a project +* [retrieve](#retrieve) - Get a project +* [update](#update) - Update a project +* [delete](#delete) - Delete a project +* [duplicate](#duplicate) - Duplicate a project + +## list + +List the projects in the organization. The list is paginated. Needs the `projects:read` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->projects->list( + page: 1, + pageSize: 20 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | + +### Response + +**[?Operations\ListProjectsResponse](../../Models/Operations/ListProjectsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## create + +Create a project with one channel, a review queue inbox and a secret API key. Give a domain or context and the project suggests policies for the platform. Needs the `projects:write` permission and a key that reaches all projects. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\CreateProjectRequest( + name: '', +); + +$response = $sdk->projects->create( + request: $request +); + +if ($response->projectWithKey !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `$request` | [Operations\CreateProjectRequest](../../Models/Operations/CreateProjectRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\CreateProjectResponse](../../Models/Operations/CreateProjectResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## retrieve + +Get a project by ID. Needs the `projects:read` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->projects->retrieve( + id: '' +); + +if ($response->project !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the project. | + +### Response + +**[?Operations\GetProjectResponse](../../Models/Operations/GetProjectResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## update + +Update a project. Fields you leave out keep their value. Needs the `projects:write` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\UpdateProjectRequestBody(); + +$response = $sdk->projects->update( + id: '', + body: $body + +); + +if ($response->project !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the project to update. | +| `body` | [Operations\UpdateProjectRequestBody](../../Models/Operations/UpdateProjectRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\UpdateProjectResponse](../../Models/Operations/UpdateProjectResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## delete + +Delete a project with everything in it: channels, queues, API keys and stored content. This can't be undone. The project's API keys stop working at once. Needs the `projects:write` permission. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->projects->delete( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the project. | + +### Response + +**[?Operations\DeleteProjectResponse](../../Models/Operations/DeleteProjectResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## duplicate + +Copy a project's configuration into a new project: its settings, every channel with its policies, rules and wordlists, its moderation actions and its review queues. The copy gets its own secret API key. Webhooks, integrations, API keys and content are not copied. Needs the `projects:write` permission and a key that reaches all projects. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\DuplicateProjectRequestBody(); + +$response = $sdk->projects->duplicate( + id: '', + body: $body + +); + +if ($response->projectWithKey !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the project to copy. | +| `body` | [Operations\DuplicateProjectRequestBody](../../Models/Operations/DuplicateProjectRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\DuplicateProjectResponse](../../Models/Operations/DuplicateProjectResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/queue/README.md b/docs/sdks/queue/README.md new file mode 100644 index 0000000..273dd2b --- /dev/null +++ b/docs/sdks/queue/README.md @@ -0,0 +1,117 @@ +# Queue + +## Overview + +### Available Operations + +* [retrieve](#retrieve) - Get a queue +* [getStats](#getstats) - Get queue statistics + +## retrieve + +Get a queue + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->queue->retrieve( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The queue ID | + +### Response + +**[?Operations\GetQueueResponse](../../Models/Operations/GetQueueResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## getStats + +Get detailed statistics about a moderation queue including review times, action counts, and trends + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->queue->getStats( + id: '', + withinDays: 30 + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The queue ID | +| `withinDays` | *?int* | :heavy_minus_sign: | N/A | + +### Response + +**[?Operations\GetQueueStatsResponse](../../Models/Operations/GetQueueStatsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/webhooks/README.md b/docs/sdks/webhooks/README.md new file mode 100644 index 0000000..a5b7eb1 --- /dev/null +++ b/docs/sdks/webhooks/README.md @@ -0,0 +1,279 @@ +# Webhooks + +## Overview + +### Available Operations + +* [list](#list) - List webhooks +* [create](#create) - Create a webhook +* [retrieve](#retrieve) - Get a webhook +* [update](#update) - Update a webhook +* [delete](#delete) - Delete a webhook + +## list + +List the webhooks of the project. The list is paginated. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->webhooks->list( + page: 1, + pageSize: 20 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | + +### Response + +**[?Operations\ListWebhooksResponse](../../Models/Operations/ListWebhooksResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## create + +Create a webhook subscribed to one or more event types. Deliveries use the v2 envelope and are signed with the project signing secret (see the signing secret endpoint). + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\CreateWebhookRequest( + name: 'Moderation events', + url: 'https://example.com/webhooks/moderation', + eventTypes: [ + Operations\CreateWebhookEventTypeRequest::QueueItemRejected, + Operations\CreateWebhookEventTypeRequest::AuthorBlocked, + ], +); + +$response = $sdk->webhooks->create( + request: $request +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `$request` | [Operations\CreateWebhookRequest](../../Models/Operations/CreateWebhookRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\CreateWebhookResponse](../../Models/Operations/CreateWebhookResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## retrieve + +Get a webhook by ID. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->webhooks->retrieve( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook to get. | + +### Response + +**[?Operations\GetWebhookResponse](../../Models/Operations/GetWebhookResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## update + +Update a webhook. Legacy v1 webhooks are read-only: delete them and create a new webhook instead. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\UpdateWebhookRequestBody(); + +$response = $sdk->webhooks->update( + id: '', + body: $body + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook to update. | +| `body` | [Operations\UpdateWebhookRequestBody](../../Models/Operations/UpdateWebhookRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\UpdateWebhookResponse](../../Models/Operations/UpdateWebhookResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## delete + +Delete a webhook. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->webhooks->delete( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the webhook to delete. | + +### Response + +**[?Operations\DeleteWebhookResponse](../../Models/Operations/DeleteWebhookResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/webhooksecret/README.md b/docs/sdks/webhooksecret/README.md new file mode 100644 index 0000000..b3d5a8c --- /dev/null +++ b/docs/sdks/webhooksecret/README.md @@ -0,0 +1,50 @@ +# WebhookSecret + +## Overview + +### Available Operations + +* [retrieve](#retrieve) - Get the webhook signing secret + +## retrieve + +Get the signing secret used to sign webhook deliveries for this project, creating one if none exists yet. Verify deliveries by comparing the `modapi-signature` header to HMAC-SHA256(raw request body, secret) hex-encoded. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->webhookSecret->retrieve( + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Response + +**[?Operations\GetWebhookSecretResponse](../../Models/Operations/GetWebhookSecretResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\AuthenticationError | 401 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/wordlist/README.md b/docs/sdks/wordlist/README.md new file mode 100644 index 0000000..bbc6fd8 --- /dev/null +++ b/docs/sdks/wordlist/README.md @@ -0,0 +1,230 @@ +# Wordlist + +## Overview + +### Available Operations + +* [list](#list) - List wordlists +* [retrieve](#retrieve) - Get wordlist +* [update](#update) - Update wordlist +* [getEmbeddingStatus](#getembeddingstatus) - Get embedding status + +## list + +List the wordlists of the organization. The list is paginated. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->wordlist->list( + page: 1, + pageSize: 20 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `page` | *?int* | :heavy_minus_sign: | N/A | +| `pageSize` | *?int* | :heavy_minus_sign: | N/A | + +### Response + +**[?Operations\ListWordlistsResponse](../../Models/Operations/ListWordlistsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## retrieve + +Get a specific wordlist by ID + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->wordlist->retrieve( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to get | + +### Response + +**[?Operations\GetWordlistResponse](../../Models/Operations/GetWordlistResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## update + +Update a wordlist + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\UpdateWordlistRequestBody(); + +$response = $sdk->wordlist->update( + id: '', + body: $body + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to update | +| `body` | [Operations\UpdateWordlistRequestBody](../../Models/Operations/UpdateWordlistRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\UpdateWordlistResponse](../../Models/Operations/UpdateWordlistResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## getEmbeddingStatus + +Get the current embedding progress status for a wordlist + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->wordlist->getEmbeddingStatus( + id: '' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to check embedding status for | + +### Response + +**[?Operations\GetWordlistEmbeddingStatusResponse](../../Models/Operations/GetWordlistEmbeddingStatusResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------- | ---------------------------- | ---------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\PermissionDeniedError | 403 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\InternalServerError | 500 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/words/README.md b/docs/sdks/words/README.md new file mode 100644 index 0000000..c4333dc --- /dev/null +++ b/docs/sdks/words/README.md @@ -0,0 +1,126 @@ +# Wordlist.Words + +## Overview + +### Available Operations + +* [add](#add) - Add words to wordlist +* [remove](#remove) - Remove words from wordlist + +## add + +Add words to an existing wordlist + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; +use ModerationApi\Models\Operations; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + +$body = new Operations\AddWordlistWordsRequestBody( + words: [ + 'free money', + 'click here', + ], +); + +$response = $sdk->wordlist->words->add( + id: '', + body: $body + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to add words to | +| `body` | [Operations\AddWordlistWordsRequestBody](../../Models/Operations/AddWordlistWordsRequestBody.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\AddWordlistWordsResponse](../../Models/Operations/AddWordlistWordsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## remove + +Remove words from an existing wordlist + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use ModerationApi; + +$sdk = ModerationApi\ModerationApi::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->wordlist->words->remove( + id: '', + words: [ + '', + '', + '', + ] + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | ID of the wordlist to remove words from | +| `words` | array<*string*> | :heavy_check_mark: | Array of words to remove from the wordlist | + +### Response + +**[?Operations\RemoveWordlistWordsResponse](../../Models/Operations/RemoveWordlistWordsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\BadRequestError | 400 | application/json | +| Errors\AuthenticationError | 401 | application/json | +| Errors\NotFoundError | 404 | application/json | +| Errors\RateLimitError | 429 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/phpstan.dist.neon b/phpstan.dist.neon deleted file mode 100644 index 1cdf47d..0000000 --- a/phpstan.dist.neon +++ /dev/null @@ -1,14 +0,0 @@ -parameters: - level: max - phpVersion: - min: 80100 - max: 80499 - paths: - - src - - tests - ignoreErrors: - - identifier: parameter.defaultValue - - identifier: trait.unused - - identifier: property.onlyWritten - - reportUnmatchedIgnoredErrors: false diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..6188b51 --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + + paths: + - src/ + + reportUnmatchedIgnoredErrors: false + + ignoreErrors: + - '#^Strict comparison using === between .*? will always evaluate to false\.$#' + - identifier: missingType.generics diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..d3f71bf --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,17 @@ + + + + + ./Tests + + + + + ./src + + + diff --git a/phpunit.xml.dist b/phpunit.xml.dist deleted file mode 100644 index 4186010..0000000 --- a/phpunit.xml.dist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - ./src - - - - - ./tests - - - diff --git a/pint.json b/pint.json new file mode 100644 index 0000000..53fd5e2 --- /dev/null +++ b/pint.json @@ -0,0 +1,23 @@ +{ + "preset": "laravel", + "rules": { + "no_superfluous_phpdoc_tags": false, + "phpdoc_separation": false, + "phpdoc_trim": false, + "phpdoc_var_without_name": false, + "class_attributes_separation": false, + "single_blank_line_at_eof": false, + "blank_line_after_namespace": false, + "no_extra_blank_lines": false, + "no_blank_lines_after_class_opening": false, + "single_line_after_imports": false, + "no_trailing_whitespace_in_comment": false, + "single_line_empty_body": false, + "new_with_parentheses": false, + "fully_qualified_strict_types": false, + "ordered_imports": false, + "unary_operator_spaces": false, + "not_operator_with_successor_space": false, + "no_unused_imports": false + } +} diff --git a/rector.php b/rector.php new file mode 100644 index 0000000..40eb9bf --- /dev/null +++ b/rector.php @@ -0,0 +1,29 @@ +paths([ + __DIR__ . '/src', + ]); + + $rectorConfig->rules([ + InlineConstructorDefaultToPropertyRector::class, + ]); + + $rectorConfig->sets([ + LevelSetList::UP_TO_PHP_82, + SetList::CODE_QUALITY, + SetList::DEAD_CODE, + SetList::EARLY_RETURN, + SetList::TYPE_DECLARATION, + SetList::PRIVATIZATION, + ]); +}; diff --git a/release-please-config.json b/release-please-config.json deleted file mode 100644 index 83bea62..0000000 --- a/release-please-config.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "packages": { - ".": {} - }, - "$schema": "https://raw.githubusercontent.com/stainless-api/release-please/main/schemas/config.json", - "include-v-in-tag": true, - "include-component-in-tag": false, - "versioning": "prerelease", - "prerelease": true, - "bump-minor-pre-major": true, - "bump-patch-for-minor-pre-major": false, - "pull-request-header": "Automated Release PR", - "pull-request-title-pattern": "release: ${version}", - "changelog-sections": [ - { - "type": "feat", - "section": "Features" - }, - { - "type": "fix", - "section": "Bug Fixes" - }, - { - "type": "perf", - "section": "Performance Improvements" - }, - { - "type": "revert", - "section": "Reverts" - }, - { - "type": "chore", - "section": "Chores" - }, - { - "type": "docs", - "section": "Documentation" - }, - { - "type": "style", - "section": "Styles" - }, - { - "type": "refactor", - "section": "Refactors" - }, - { - "type": "test", - "section": "Tests", - "hidden": true - }, - { - "type": "build", - "section": "Build System" - }, - { - "type": "ci", - "section": "Continuous Integration", - "hidden": true - } - ], - "release-type": "php", - "extra-files": [ - "README.md", - "src/Version.php" - ] -} \ No newline at end of file diff --git a/scripts/bootstrap b/scripts/bootstrap deleted file mode 100755 index 0010226..0000000 --- a/scripts/bootstrap +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -e - -cd -- "$(dirname -- "$0")/.." - -echo "==> Running composer install" -exec -- composer install --no-interaction diff --git a/scripts/clean b/scripts/clean deleted file mode 100755 index 5d9a765..0000000 --- a/scripts/clean +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -e - -cd -- "$(dirname -- "$0")/.." - -echo "==> Cleaning up..." -exec -- rm -fr -- ./vendor/ ./.php-cs-fixer.cache diff --git a/scripts/format b/scripts/format deleted file mode 100755 index 8e63351..0000000 --- a/scripts/format +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -e - -cd -- "$(dirname -- "$0")/.." - -echo "==> Running php-cs-fixer" -exec -- ./vendor/bin/php-cs-fixer fix diff --git a/scripts/lint b/scripts/lint deleted file mode 100755 index 211ce90..0000000 --- a/scripts/lint +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -e - -cd -- "$(dirname -- "$0")/.." - -echo "==> Running PHPStan" -exec -- ./vendor/bin/phpstan analyse --memory-limit=12G diff --git a/scripts/test b/scripts/test deleted file mode 100755 index 63df137..0000000 --- a/scripts/test +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -set -e - -cd "$(dirname "$0")/.." - - - -exec -- ./vendor/bin/pest --colors=always diff --git a/src/Account.php b/src/Account.php new file mode 100644 index 0000000..fcf6e1c --- /dev/null +++ b/src/Account.php @@ -0,0 +1,132 @@ +sdkConfiguration = $sdkConfig; + } + /** + * @param string $baseUrl + * @param array $urlVariables + * + * @return string + */ + public function getUrl(string $baseUrl, array $urlVariables): string + { + $serverDetails = $this->sdkConfiguration->getServerDetails(); + + if ($baseUrl == null) { + $baseUrl = $serverDetails->baseUrl; + } + + if ($urlVariables == null) { + $urlVariables = $serverDetails->options; + } + + return Utils\Utils::templateUrl($baseUrl, $urlVariables); + } + + /** + * Get account details + * + * Get account details + * + * @return \ModerationApi\Models\Operations\GetAccountResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function retrieve(?Options $options = null): Operations\GetAccountResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/account'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'getAccount', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\GetAccountResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\GetAccountResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + +} \ No newline at end of file diff --git a/src/Account/AccountListResponse.php b/src/Account/AccountListResponse.php deleted file mode 100644 index 7582933..0000000 --- a/src/Account/AccountListResponse.php +++ /dev/null @@ -1,162 +0,0 @@ - */ - use SdkModel; - - /** - * ID of the account. - */ - #[Required] - public string $id; - - /** - * Name of the paid plan. - */ - #[Required('paid_plan_name')] - public string $paidPlanName; - - /** - * Remaining quota. - */ - #[Required('remaining_quota')] - public float $remainingQuota; - - /** - * Text API quota. - */ - #[Required('text_api_quota')] - public float $textAPIQuota; - - #[Optional('current_project')] - public ?CurrentProject $currentProject; - - /** - * `new AccountListResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AccountListResponse::with( - * id: ..., paidPlanName: ..., remainingQuota: ..., textAPIQuota: ... - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AccountListResponse) - * ->withID(...) - * ->withPaidPlanName(...) - * ->withRemainingQuota(...) - * ->withTextAPIQuota(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param CurrentProject|CurrentProjectShape|null $currentProject - */ - public static function with( - string $id, - string $paidPlanName, - float $remainingQuota, - float $textAPIQuota, - CurrentProject|array|null $currentProject = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['paidPlanName'] = $paidPlanName; - $self['remainingQuota'] = $remainingQuota; - $self['textAPIQuota'] = $textAPIQuota; - - null !== $currentProject && $self['currentProject'] = $currentProject; - - return $self; - } - - /** - * ID of the account. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Name of the paid plan. - */ - public function withPaidPlanName(string $paidPlanName): self - { - $self = clone $this; - $self['paidPlanName'] = $paidPlanName; - - return $self; - } - - /** - * Remaining quota. - */ - public function withRemainingQuota(float $remainingQuota): self - { - $self = clone $this; - $self['remainingQuota'] = $remainingQuota; - - return $self; - } - - /** - * Text API quota. - */ - public function withTextAPIQuota(float $textAPIQuota): self - { - $self = clone $this; - $self['textAPIQuota'] = $textAPIQuota; - - return $self; - } - - /** - * @param CurrentProject|CurrentProjectShape $currentProject - */ - public function withCurrentProject( - CurrentProject|array $currentProject - ): self { - $self = clone $this; - $self['currentProject'] = $currentProject; - - return $self; - } -} diff --git a/src/Account/AccountListResponse/CurrentProject.php b/src/Account/AccountListResponse/CurrentProject.php deleted file mode 100644 index c423c2e..0000000 --- a/src/Account/AccountListResponse/CurrentProject.php +++ /dev/null @@ -1,86 +0,0 @@ - */ - use SdkModel; - - /** - * ID of the current project. - */ - #[Required] - public string $id; - - /** - * Name of the current project. - */ - #[Required] - public string $name; - - /** - * `new CurrentProject()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * CurrentProject::with(id: ..., name: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new CurrentProject)->withID(...)->withName(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $id, string $name): self - { - $self = new self; - - $self['id'] = $id; - $self['name'] = $name; - - return $self; - } - - /** - * ID of the current project. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Name of the current project. - */ - public function withName(string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } -} diff --git a/src/Actions.php b/src/Actions.php new file mode 100644 index 0000000..4ea922c --- /dev/null +++ b/src/Actions.php @@ -0,0 +1,832 @@ +sdkConfiguration = $sdkConfig; + } + /** + * @param string $baseUrl + * @param array $urlVariables + * + * @return string + */ + public function getUrl(string $baseUrl, array $urlVariables): string + { + $serverDetails = $this->sdkConfiguration->getServerDetails(); + + if ($baseUrl == null) { + $baseUrl = $serverDetails->baseUrl; + } + + if ($urlVariables == null) { + $urlVariables = $serverDetails->options; + } + + return Utils\Utils::templateUrl($baseUrl, $urlVariables); + } + + /** + * Create an action + * + * Create an action. + * + * @param \ModerationApi\Models\Operations\CreateActionRequest $request + * @return \ModerationApi\Models\Operations\CreateActionResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function create(Operations\CreateActionRequest $request, ?Options $options = null): Operations\CreateActionResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/actions'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'createAction', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\CreateActionResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CreateActionResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\ConflictError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Delete an action + * + * Delete an action and all of its webhooks. + * + * @param string $id + * @return \ModerationApi\Models\Operations\DeleteActionResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function delete(string $id, ?Options $options = null): Operations\DeleteActionResponse + { + $request = new Operations\DeleteActionRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/actions/{id}', Operations\DeleteActionRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'deleteAction', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\DeleteActionResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\DeleteActionResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Execute moderation action + * + * Execute a moderation action on one or more content items. + * + * @param \ModerationApi\Models\Operations\ExecuteActionRequest $request + * @return \ModerationApi\Models\Operations\ExecuteActionResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function execute(Operations\ExecuteActionRequest $request, ?Options $options = null): Operations\ExecuteActionResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/actions/execute'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'executeAction', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\ExecuteActionResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\ExecuteActionResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Get an action + * + * Get an action by ID. + * + * @param string $id + * @return \ModerationApi\Models\Operations\GetActionResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function retrieve(string $id, ?Options $options = null): Operations\GetActionResponse + { + $request = new Operations\GetActionRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/actions/{id}', Operations\GetActionRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'getAction', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\GetActionResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\GetActionResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * List moderation actions + * + * List the moderation actions of the project. The list is paginated. + * + * @param ?string $queueId + * @param ?int $page + * @param ?int $pageSize + * @return \ModerationApi\Models\Operations\ListActionsResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + private function listIndividual(?string $queueId = null, ?int $page = null, ?int $pageSize = null, ?Options $options = null): Operations\ListActionsResponse + { + $request = new Operations\ListActionsRequest( + queueId: $queueId, + page: $page, + pageSize: $pageSize, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/actions'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\ListActionsRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'listActions', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\ListActionsResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\ListActionsResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + $sdk = $this; + + $response->next = function () use ($sdk, $request, $responseData): ?Operations\ListActionsResponse { + $page = $request != null && $request->page != null ? $request->page : 1; + $nextPage = $page + 1; + $jsonObject = new \JsonPath\JsonObject($responseData); + $numPages = $jsonObject->get('$.pagination.totalPages'); + if ($numPages == null || $numPages[0] <= $page) { + return null; + } + if (! $responseData) { + return null; + } + $jsonObject = new \JsonPath\JsonObject($responseData); + $results = $jsonObject->get('$.data'); + + if (is_array($results)) { + $results = $results[0]; + } + if (count($results) === 0) { + return null; + } + $limit = $request != null && $request->pageSize != null ? $request->pageSize : 20; + if (count($results) < $limit) { + return null; + } + + return $sdk->listIndividual( + queueId: $request != null ? $request->queueId : null, + page: $nextPage, + pageSize: $request != null ? $request->pageSize : null, + ); + }; + + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['500'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\InternalServerError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** + * List moderation actions + * + * List the moderation actions of the project. The list is paginated. + * + * @param ?string $queueId + * @param ?int $page + * @param ?int $pageSize + * @return \Generator<\ModerationApi\Models\Operations\ListActionsResponse> + * @throws \ModerationApi\Models\Errors\APIException + */ + public function list(?string $queueId = null, ?int $page = null, ?int $pageSize = null, ?Options $options = null): \Generator + { + $res = $this->listIndividual($queueId, $page, $pageSize, $options); + while ($res !== null) { + yield $res; + $res = $res->next($res); + } + } + + /** + * Update an action + * + * Update an action. + * + * @param \ModerationApi\Models\Operations\UpdateActionRequestBody $body + * @param string $id + * @return \ModerationApi\Models\Operations\UpdateActionResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function update(Operations\UpdateActionRequestBody $body, string $id, ?Options $options = null): Operations\UpdateActionResponse + { + $request = new Operations\UpdateActionRequest( + id: $id, + body: $body, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/actions/{id}', Operations\UpdateActionRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'body', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('PUT', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'updateAction', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\UpdateActionResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\UpdateActionResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\ConflictError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + +} \ No newline at end of file diff --git a/src/Actions/ActionCreateParams.php b/src/Actions/ActionCreateParams.php deleted file mode 100644 index 796d1dc..0000000 --- a/src/Actions/ActionCreateParams.php +++ /dev/null @@ -1,312 +0,0 @@ -|null, - * freeText?: bool|null, - * key?: string|null, - * position?: null|Position|value-of, - * possibleValues?: list|null, - * queueBehaviour?: null|QueueBehaviour|value-of, - * type?: null|Type|value-of, - * valueRequired?: bool|null, - * } - */ -final class ActionCreateParams implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - use SdkParams; - - /** - * The name of the action. - */ - #[Required] - public string $name; - - /** - * Whether the action is a built-in action or a custom one. - */ - #[Optional(nullable: true)] - public ?bool $builtIn; - - /** - * The description of the action. - */ - #[Optional(nullable: true)] - public ?string $description; - - /** - * The IDs of the queues the action is available in. - * - * @var list|null $filterInQueueIDs - */ - #[Optional('filterInQueueIds', list: 'string')] - public ?array $filterInQueueIDs; - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - #[Optional] - public ?bool $freeText; - - /** - * User defined key of the action. - */ - #[Optional(nullable: true)] - public ?string $key; - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @var value-of|null $position - */ - #[Optional(enum: Position::class)] - public ?string $position; - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @var list|null $possibleValues - */ - #[Optional(list: PossibleValue::class)] - public ?array $possibleValues; - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @var value-of|null $queueBehaviour - */ - #[Optional(enum: QueueBehaviour::class)] - public ?string $queueBehaviour; - - /** - * The type of the action. - * - * @var value-of|null $type - */ - #[Optional(enum: Type::class, nullable: true)] - public ?string $type; - - /** - * Whether the action requires a value to be executed. - */ - #[Optional] - public ?bool $valueRequired; - - /** - * `new ActionCreateParams()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ActionCreateParams::with(name: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ActionCreateParams)->withName(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list|null $filterInQueueIDs - * @param Position|value-of|null $position - * @param list|null $possibleValues - * @param QueueBehaviour|value-of|null $queueBehaviour - * @param Type|value-of|null $type - */ - public static function with( - string $name, - ?bool $builtIn = null, - ?string $description = null, - ?array $filterInQueueIDs = null, - ?bool $freeText = null, - ?string $key = null, - Position|string|null $position = null, - ?array $possibleValues = null, - QueueBehaviour|string|null $queueBehaviour = null, - Type|string|null $type = null, - ?bool $valueRequired = null, - ): self { - $self = new self; - - $self['name'] = $name; - - null !== $builtIn && $self['builtIn'] = $builtIn; - null !== $description && $self['description'] = $description; - null !== $filterInQueueIDs && $self['filterInQueueIDs'] = $filterInQueueIDs; - null !== $freeText && $self['freeText'] = $freeText; - null !== $key && $self['key'] = $key; - null !== $position && $self['position'] = $position; - null !== $possibleValues && $self['possibleValues'] = $possibleValues; - null !== $queueBehaviour && $self['queueBehaviour'] = $queueBehaviour; - null !== $type && $self['type'] = $type; - null !== $valueRequired && $self['valueRequired'] = $valueRequired; - - return $self; - } - - /** - * The name of the action. - */ - public function withName(string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * Whether the action is a built-in action or a custom one. - */ - public function withBuiltIn(?bool $builtIn): self - { - $self = clone $this; - $self['builtIn'] = $builtIn; - - return $self; - } - - /** - * The description of the action. - */ - public function withDescription(?string $description): self - { - $self = clone $this; - $self['description'] = $description; - - return $self; - } - - /** - * The IDs of the queues the action is available in. - * - * @param list $filterInQueueIDs - */ - public function withFilterInQueueIDs(array $filterInQueueIDs): self - { - $self = clone $this; - $self['filterInQueueIDs'] = $filterInQueueIDs; - - return $self; - } - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - public function withFreeText(bool $freeText): self - { - $self = clone $this; - $self['freeText'] = $freeText; - - return $self; - } - - /** - * User defined key of the action. - */ - public function withKey(?string $key): self - { - $self = clone $this; - $self['key'] = $key; - - return $self; - } - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @param Position|value-of $position - */ - public function withPosition(Position|string $position): self - { - $self = clone $this; - $self['position'] = $position; - - return $self; - } - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @param list $possibleValues - */ - public function withPossibleValues(array $possibleValues): self - { - $self = clone $this; - $self['possibleValues'] = $possibleValues; - - return $self; - } - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @param QueueBehaviour|value-of $queueBehaviour - */ - public function withQueueBehaviour( - QueueBehaviour|string $queueBehaviour - ): self { - $self = clone $this; - $self['queueBehaviour'] = $queueBehaviour; - - return $self; - } - - /** - * The type of the action. - * - * @param Type|value-of|null $type - */ - public function withType(Type|string|null $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * Whether the action requires a value to be executed. - */ - public function withValueRequired(bool $valueRequired): self - { - $self = clone $this; - $self['valueRequired'] = $valueRequired; - - return $self; - } -} diff --git a/src/Actions/ActionCreateParams/Position.php b/src/Actions/ActionCreateParams/Position.php deleted file mode 100644 index 3297c14..0000000 --- a/src/Actions/ActionCreateParams/Position.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * The value of the action. - */ - #[Required] - public string $value; - - /** - * `new PossibleValue()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * PossibleValue::with(value: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new PossibleValue)->withValue(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $value): self - { - $self = new self; - - $self['value'] = $value; - - return $self; - } - - /** - * The value of the action. - */ - public function withValue(string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Actions/ActionCreateParams/QueueBehaviour.php b/src/Actions/ActionCreateParams/QueueBehaviour.php deleted file mode 100644 index 41e6dd9..0000000 --- a/src/Actions/ActionCreateParams/QueueBehaviour.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * The ID of the action. - */ - #[Required] - public string $id; - - /** - * Whether the action was deleted. - */ - #[Required] - public bool $deleted; - - /** - * `new ActionDeleteResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ActionDeleteResponse::with(id: ..., deleted: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ActionDeleteResponse)->withID(...)->withDeleted(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $id, bool $deleted): self - { - $self = new self; - - $self['id'] = $id; - $self['deleted'] = $deleted; - - return $self; - } - - /** - * The ID of the action. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Whether the action was deleted. - */ - public function withDeleted(bool $deleted): self - { - $self = clone $this; - $self['deleted'] = $deleted; - - return $self; - } -} diff --git a/src/Actions/ActionGetResponse.php b/src/Actions/ActionGetResponse.php deleted file mode 100644 index 8917989..0000000 --- a/src/Actions/ActionGetResponse.php +++ /dev/null @@ -1,367 +0,0 @@ -, - * freeText: bool, - * name: string, - * position: Position|value-of, - * possibleValues: list, - * queueBehaviour: QueueBehaviour|value-of, - * valueRequired: bool, - * description?: string|null, - * key?: string|null, - * type?: null|Type|value-of, - * } - */ -final class ActionGetResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * The ID of the action. - */ - #[Required] - public string $id; - - /** - * Whether the action is a built-in action or a custom one. - */ - #[Required] - public ?bool $builtIn; - - /** - * The date the action was created. - */ - #[Required] - public string $createdAt; - - /** - * The IDs of the queues the action is available in. - * - * @var list $filterInQueueIDs - */ - #[Required('filterInQueueIds', list: 'string')] - public array $filterInQueueIDs; - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - #[Required] - public bool $freeText; - - /** - * The name of the action. - */ - #[Required] - public string $name; - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @var value-of $position - */ - #[Required(enum: Position::class)] - public string $position; - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @var list $possibleValues - */ - #[Required(list: PossibleValue::class)] - public array $possibleValues; - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @var value-of $queueBehaviour - */ - #[Required(enum: QueueBehaviour::class)] - public string $queueBehaviour; - - /** - * Whether the action requires a value to be executed. - */ - #[Required] - public bool $valueRequired; - - /** - * The description of the action. - */ - #[Optional(nullable: true)] - public ?string $description; - - /** - * User defined key of the action. - */ - #[Optional(nullable: true)] - public ?string $key; - - /** - * The type of the action. - * - * @var value-of|null $type - */ - #[Optional(enum: Type::class, nullable: true)] - public ?string $type; - - /** - * `new ActionGetResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ActionGetResponse::with( - * id: ..., - * builtIn: ..., - * createdAt: ..., - * filterInQueueIDs: ..., - * freeText: ..., - * name: ..., - * position: ..., - * possibleValues: ..., - * queueBehaviour: ..., - * valueRequired: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ActionGetResponse) - * ->withID(...) - * ->withBuiltIn(...) - * ->withCreatedAt(...) - * ->withFilterInQueueIDs(...) - * ->withFreeText(...) - * ->withName(...) - * ->withPosition(...) - * ->withPossibleValues(...) - * ->withQueueBehaviour(...) - * ->withValueRequired(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list $filterInQueueIDs - * @param Position|value-of $position - * @param list $possibleValues - * @param QueueBehaviour|value-of $queueBehaviour - * @param Type|value-of|null $type - */ - public static function with( - string $id, - string $createdAt, - string $name, - ?bool $builtIn = false, - array $filterInQueueIDs = [], - bool $freeText = false, - Position|string $position = 'ALL_QUEUES', - array $possibleValues = [], - QueueBehaviour|string $queueBehaviour = 'NO_CHANGE', - bool $valueRequired = false, - ?string $description = null, - ?string $key = null, - Type|string|null $type = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['builtIn'] = $builtIn; - $self['createdAt'] = $createdAt; - $self['filterInQueueIDs'] = $filterInQueueIDs; - $self['freeText'] = $freeText; - $self['name'] = $name; - $self['position'] = $position; - $self['possibleValues'] = $possibleValues; - $self['queueBehaviour'] = $queueBehaviour; - $self['valueRequired'] = $valueRequired; - - null !== $description && $self['description'] = $description; - null !== $key && $self['key'] = $key; - null !== $type && $self['type'] = $type; - - return $self; - } - - /** - * The ID of the action. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Whether the action is a built-in action or a custom one. - */ - public function withBuiltIn(?bool $builtIn): self - { - $self = clone $this; - $self['builtIn'] = $builtIn; - - return $self; - } - - /** - * The date the action was created. - */ - public function withCreatedAt(string $createdAt): self - { - $self = clone $this; - $self['createdAt'] = $createdAt; - - return $self; - } - - /** - * The IDs of the queues the action is available in. - * - * @param list $filterInQueueIDs - */ - public function withFilterInQueueIDs(array $filterInQueueIDs): self - { - $self = clone $this; - $self['filterInQueueIDs'] = $filterInQueueIDs; - - return $self; - } - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - public function withFreeText(bool $freeText): self - { - $self = clone $this; - $self['freeText'] = $freeText; - - return $self; - } - - /** - * The name of the action. - */ - public function withName(string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @param Position|value-of $position - */ - public function withPosition(Position|string $position): self - { - $self = clone $this; - $self['position'] = $position; - - return $self; - } - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @param list $possibleValues - */ - public function withPossibleValues(array $possibleValues): self - { - $self = clone $this; - $self['possibleValues'] = $possibleValues; - - return $self; - } - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @param QueueBehaviour|value-of $queueBehaviour - */ - public function withQueueBehaviour( - QueueBehaviour|string $queueBehaviour - ): self { - $self = clone $this; - $self['queueBehaviour'] = $queueBehaviour; - - return $self; - } - - /** - * Whether the action requires a value to be executed. - */ - public function withValueRequired(bool $valueRequired): self - { - $self = clone $this; - $self['valueRequired'] = $valueRequired; - - return $self; - } - - /** - * The description of the action. - */ - public function withDescription(?string $description): self - { - $self = clone $this; - $self['description'] = $description; - - return $self; - } - - /** - * User defined key of the action. - */ - public function withKey(?string $key): self - { - $self = clone $this; - $self['key'] = $key; - - return $self; - } - - /** - * The type of the action. - * - * @param Type|value-of|null $type - */ - public function withType(Type|string|null $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } -} diff --git a/src/Actions/ActionGetResponse/Position.php b/src/Actions/ActionGetResponse/Position.php deleted file mode 100644 index f8cdfae..0000000 --- a/src/Actions/ActionGetResponse/Position.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * The value of the action. - */ - #[Required] - public string $value; - - /** - * `new PossibleValue()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * PossibleValue::with(value: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new PossibleValue)->withValue(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $value): self - { - $self = new self; - - $self['value'] = $value; - - return $self; - } - - /** - * The value of the action. - */ - public function withValue(string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Actions/ActionGetResponse/QueueBehaviour.php b/src/Actions/ActionGetResponse/QueueBehaviour.php deleted file mode 100644 index d0d9cf6..0000000 --- a/src/Actions/ActionGetResponse/QueueBehaviour.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - use SdkParams; - - #[Optional] - public ?string $queueID; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?string $queueID = null): self - { - $self = new self; - - null !== $queueID && $self['queueID'] = $queueID; - - return $self; - } - - public function withQueueID(string $queueID): self - { - $self = clone $this; - $self['queueID'] = $queueID; - - return $self; - } -} diff --git a/src/Actions/ActionListResponseItem.php b/src/Actions/ActionListResponseItem.php deleted file mode 100644 index e44af65..0000000 --- a/src/Actions/ActionListResponseItem.php +++ /dev/null @@ -1,367 +0,0 @@ -, - * freeText: bool, - * name: string, - * position: Position|value-of, - * possibleValues: list, - * queueBehaviour: QueueBehaviour|value-of, - * valueRequired: bool, - * description?: string|null, - * key?: string|null, - * type?: null|Type|value-of, - * } - */ -final class ActionListResponseItem implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * The ID of the action. - */ - #[Required] - public string $id; - - /** - * Whether the action is a built-in action or a custom one. - */ - #[Required] - public ?bool $builtIn; - - /** - * The date the action was created. - */ - #[Required] - public string $createdAt; - - /** - * The IDs of the queues the action is available in. - * - * @var list $filterInQueueIDs - */ - #[Required('filterInQueueIds', list: 'string')] - public array $filterInQueueIDs; - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - #[Required] - public bool $freeText; - - /** - * The name of the action. - */ - #[Required] - public string $name; - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @var value-of $position - */ - #[Required(enum: Position::class)] - public string $position; - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @var list $possibleValues - */ - #[Required(list: PossibleValue::class)] - public array $possibleValues; - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @var value-of $queueBehaviour - */ - #[Required(enum: QueueBehaviour::class)] - public string $queueBehaviour; - - /** - * Whether the action requires a value to be executed. - */ - #[Required] - public bool $valueRequired; - - /** - * The description of the action. - */ - #[Optional(nullable: true)] - public ?string $description; - - /** - * User defined key of the action. - */ - #[Optional(nullable: true)] - public ?string $key; - - /** - * The type of the action. - * - * @var value-of|null $type - */ - #[Optional(enum: Type::class, nullable: true)] - public ?string $type; - - /** - * `new ActionListResponseItem()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ActionListResponseItem::with( - * id: ..., - * builtIn: ..., - * createdAt: ..., - * filterInQueueIDs: ..., - * freeText: ..., - * name: ..., - * position: ..., - * possibleValues: ..., - * queueBehaviour: ..., - * valueRequired: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ActionListResponseItem) - * ->withID(...) - * ->withBuiltIn(...) - * ->withCreatedAt(...) - * ->withFilterInQueueIDs(...) - * ->withFreeText(...) - * ->withName(...) - * ->withPosition(...) - * ->withPossibleValues(...) - * ->withQueueBehaviour(...) - * ->withValueRequired(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list $filterInQueueIDs - * @param Position|value-of $position - * @param list $possibleValues - * @param QueueBehaviour|value-of $queueBehaviour - * @param Type|value-of|null $type - */ - public static function with( - string $id, - string $createdAt, - string $name, - ?bool $builtIn = false, - array $filterInQueueIDs = [], - bool $freeText = false, - Position|string $position = 'ALL_QUEUES', - array $possibleValues = [], - QueueBehaviour|string $queueBehaviour = 'NO_CHANGE', - bool $valueRequired = false, - ?string $description = null, - ?string $key = null, - Type|string|null $type = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['builtIn'] = $builtIn; - $self['createdAt'] = $createdAt; - $self['filterInQueueIDs'] = $filterInQueueIDs; - $self['freeText'] = $freeText; - $self['name'] = $name; - $self['position'] = $position; - $self['possibleValues'] = $possibleValues; - $self['queueBehaviour'] = $queueBehaviour; - $self['valueRequired'] = $valueRequired; - - null !== $description && $self['description'] = $description; - null !== $key && $self['key'] = $key; - null !== $type && $self['type'] = $type; - - return $self; - } - - /** - * The ID of the action. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Whether the action is a built-in action or a custom one. - */ - public function withBuiltIn(?bool $builtIn): self - { - $self = clone $this; - $self['builtIn'] = $builtIn; - - return $self; - } - - /** - * The date the action was created. - */ - public function withCreatedAt(string $createdAt): self - { - $self = clone $this; - $self['createdAt'] = $createdAt; - - return $self; - } - - /** - * The IDs of the queues the action is available in. - * - * @param list $filterInQueueIDs - */ - public function withFilterInQueueIDs(array $filterInQueueIDs): self - { - $self = clone $this; - $self['filterInQueueIDs'] = $filterInQueueIDs; - - return $self; - } - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - public function withFreeText(bool $freeText): self - { - $self = clone $this; - $self['freeText'] = $freeText; - - return $self; - } - - /** - * The name of the action. - */ - public function withName(string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @param Position|value-of $position - */ - public function withPosition(Position|string $position): self - { - $self = clone $this; - $self['position'] = $position; - - return $self; - } - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @param list $possibleValues - */ - public function withPossibleValues(array $possibleValues): self - { - $self = clone $this; - $self['possibleValues'] = $possibleValues; - - return $self; - } - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @param QueueBehaviour|value-of $queueBehaviour - */ - public function withQueueBehaviour( - QueueBehaviour|string $queueBehaviour - ): self { - $self = clone $this; - $self['queueBehaviour'] = $queueBehaviour; - - return $self; - } - - /** - * Whether the action requires a value to be executed. - */ - public function withValueRequired(bool $valueRequired): self - { - $self = clone $this; - $self['valueRequired'] = $valueRequired; - - return $self; - } - - /** - * The description of the action. - */ - public function withDescription(?string $description): self - { - $self = clone $this; - $self['description'] = $description; - - return $self; - } - - /** - * User defined key of the action. - */ - public function withKey(?string $key): self - { - $self = clone $this; - $self['key'] = $key; - - return $self; - } - - /** - * The type of the action. - * - * @param Type|value-of|null $type - */ - public function withType(Type|string|null $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } -} diff --git a/src/Actions/ActionListResponseItem/Position.php b/src/Actions/ActionListResponseItem/Position.php deleted file mode 100644 index e6ab454..0000000 --- a/src/Actions/ActionListResponseItem/Position.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * The value of the action. - */ - #[Required] - public string $value; - - /** - * `new PossibleValue()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * PossibleValue::with(value: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new PossibleValue)->withValue(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $value): self - { - $self = new self; - - $self['value'] = $value; - - return $self; - } - - /** - * The value of the action. - */ - public function withValue(string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Actions/ActionListResponseItem/QueueBehaviour.php b/src/Actions/ActionListResponseItem/QueueBehaviour.php deleted file mode 100644 index e97fd8c..0000000 --- a/src/Actions/ActionListResponseItem/QueueBehaviour.php +++ /dev/null @@ -1,17 +0,0 @@ -, - * freeText: bool, - * name: string, - * position: Position|value-of, - * possibleValues: list, - * queueBehaviour: QueueBehaviour|value-of, - * valueRequired: bool, - * description?: string|null, - * key?: string|null, - * type?: null|Type|value-of, - * } - */ -final class ActionNewResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * The ID of the action. - */ - #[Required] - public string $id; - - /** - * Whether the action is a built-in action or a custom one. - */ - #[Required] - public ?bool $builtIn; - - /** - * The date the action was created. - */ - #[Required] - public string $createdAt; - - /** - * The IDs of the queues the action is available in. - * - * @var list $filterInQueueIDs - */ - #[Required('filterInQueueIds', list: 'string')] - public array $filterInQueueIDs; - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - #[Required] - public bool $freeText; - - /** - * The name of the action. - */ - #[Required] - public string $name; - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @var value-of $position - */ - #[Required(enum: Position::class)] - public string $position; - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @var list $possibleValues - */ - #[Required(list: PossibleValue::class)] - public array $possibleValues; - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @var value-of $queueBehaviour - */ - #[Required(enum: QueueBehaviour::class)] - public string $queueBehaviour; - - /** - * Whether the action requires a value to be executed. - */ - #[Required] - public bool $valueRequired; - - /** - * The description of the action. - */ - #[Optional(nullable: true)] - public ?string $description; - - /** - * User defined key of the action. - */ - #[Optional(nullable: true)] - public ?string $key; - - /** - * The type of the action. - * - * @var value-of|null $type - */ - #[Optional(enum: Type::class, nullable: true)] - public ?string $type; - - /** - * `new ActionNewResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ActionNewResponse::with( - * id: ..., - * builtIn: ..., - * createdAt: ..., - * filterInQueueIDs: ..., - * freeText: ..., - * name: ..., - * position: ..., - * possibleValues: ..., - * queueBehaviour: ..., - * valueRequired: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ActionNewResponse) - * ->withID(...) - * ->withBuiltIn(...) - * ->withCreatedAt(...) - * ->withFilterInQueueIDs(...) - * ->withFreeText(...) - * ->withName(...) - * ->withPosition(...) - * ->withPossibleValues(...) - * ->withQueueBehaviour(...) - * ->withValueRequired(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list $filterInQueueIDs - * @param Position|value-of $position - * @param list $possibleValues - * @param QueueBehaviour|value-of $queueBehaviour - * @param Type|value-of|null $type - */ - public static function with( - string $id, - string $createdAt, - string $name, - ?bool $builtIn = false, - array $filterInQueueIDs = [], - bool $freeText = false, - Position|string $position = 'ALL_QUEUES', - array $possibleValues = [], - QueueBehaviour|string $queueBehaviour = 'NO_CHANGE', - bool $valueRequired = false, - ?string $description = null, - ?string $key = null, - Type|string|null $type = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['builtIn'] = $builtIn; - $self['createdAt'] = $createdAt; - $self['filterInQueueIDs'] = $filterInQueueIDs; - $self['freeText'] = $freeText; - $self['name'] = $name; - $self['position'] = $position; - $self['possibleValues'] = $possibleValues; - $self['queueBehaviour'] = $queueBehaviour; - $self['valueRequired'] = $valueRequired; - - null !== $description && $self['description'] = $description; - null !== $key && $self['key'] = $key; - null !== $type && $self['type'] = $type; - - return $self; - } - - /** - * The ID of the action. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Whether the action is a built-in action or a custom one. - */ - public function withBuiltIn(?bool $builtIn): self - { - $self = clone $this; - $self['builtIn'] = $builtIn; - - return $self; - } - - /** - * The date the action was created. - */ - public function withCreatedAt(string $createdAt): self - { - $self = clone $this; - $self['createdAt'] = $createdAt; - - return $self; - } - - /** - * The IDs of the queues the action is available in. - * - * @param list $filterInQueueIDs - */ - public function withFilterInQueueIDs(array $filterInQueueIDs): self - { - $self = clone $this; - $self['filterInQueueIDs'] = $filterInQueueIDs; - - return $self; - } - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - public function withFreeText(bool $freeText): self - { - $self = clone $this; - $self['freeText'] = $freeText; - - return $self; - } - - /** - * The name of the action. - */ - public function withName(string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @param Position|value-of $position - */ - public function withPosition(Position|string $position): self - { - $self = clone $this; - $self['position'] = $position; - - return $self; - } - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @param list $possibleValues - */ - public function withPossibleValues(array $possibleValues): self - { - $self = clone $this; - $self['possibleValues'] = $possibleValues; - - return $self; - } - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @param QueueBehaviour|value-of $queueBehaviour - */ - public function withQueueBehaviour( - QueueBehaviour|string $queueBehaviour - ): self { - $self = clone $this; - $self['queueBehaviour'] = $queueBehaviour; - - return $self; - } - - /** - * Whether the action requires a value to be executed. - */ - public function withValueRequired(bool $valueRequired): self - { - $self = clone $this; - $self['valueRequired'] = $valueRequired; - - return $self; - } - - /** - * The description of the action. - */ - public function withDescription(?string $description): self - { - $self = clone $this; - $self['description'] = $description; - - return $self; - } - - /** - * User defined key of the action. - */ - public function withKey(?string $key): self - { - $self = clone $this; - $self['key'] = $key; - - return $self; - } - - /** - * The type of the action. - * - * @param Type|value-of|null $type - */ - public function withType(Type|string|null $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } -} diff --git a/src/Actions/ActionNewResponse/Position.php b/src/Actions/ActionNewResponse/Position.php deleted file mode 100644 index f97951e..0000000 --- a/src/Actions/ActionNewResponse/Position.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * The value of the action. - */ - #[Required] - public string $value; - - /** - * `new PossibleValue()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * PossibleValue::with(value: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new PossibleValue)->withValue(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $value): self - { - $self = new self; - - $self['value'] = $value; - - return $self; - } - - /** - * The value of the action. - */ - public function withValue(string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Actions/ActionNewResponse/QueueBehaviour.php b/src/Actions/ActionNewResponse/QueueBehaviour.php deleted file mode 100644 index 7a713d0..0000000 --- a/src/Actions/ActionNewResponse/QueueBehaviour.php +++ /dev/null @@ -1,17 +0,0 @@ -|null, - * freeText?: bool|null, - * key?: string|null, - * name?: string|null, - * position?: null|Position|value-of, - * possibleValues?: list|null, - * queueBehaviour?: null|QueueBehaviour|value-of, - * type?: null|Type|value-of, - * valueRequired?: bool|null, - * } - */ -final class ActionUpdateParams implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - use SdkParams; - - /** - * Whether the action is a built-in action or a custom one. - */ - #[Optional(nullable: true)] - public ?bool $builtIn; - - /** - * The description of the action. - */ - #[Optional(nullable: true)] - public ?string $description; - - /** - * The IDs of the queues the action is available in. - * - * @var list|null $filterInQueueIDs - */ - #[Optional('filterInQueueIds', list: 'string')] - public ?array $filterInQueueIDs; - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - #[Optional] - public ?bool $freeText; - - /** - * User defined key of the action. - */ - #[Optional(nullable: true)] - public ?string $key; - - /** - * The name of the action. - */ - #[Optional] - public ?string $name; - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @var value-of|null $position - */ - #[Optional(enum: Position::class)] - public ?string $position; - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @var list|null $possibleValues - */ - #[Optional(list: PossibleValue::class)] - public ?array $possibleValues; - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @var value-of|null $queueBehaviour - */ - #[Optional(enum: QueueBehaviour::class)] - public ?string $queueBehaviour; - - /** - * The type of the action. - * - * @var value-of|null $type - */ - #[Optional(enum: Type::class, nullable: true)] - public ?string $type; - - /** - * Whether the action requires a value to be executed. - */ - #[Optional] - public ?bool $valueRequired; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list|null $filterInQueueIDs - * @param Position|value-of|null $position - * @param list|null $possibleValues - * @param QueueBehaviour|value-of|null $queueBehaviour - * @param Type|value-of|null $type - */ - public static function with( - ?bool $builtIn = null, - ?string $description = null, - ?array $filterInQueueIDs = null, - ?bool $freeText = null, - ?string $key = null, - ?string $name = null, - Position|string|null $position = null, - ?array $possibleValues = null, - QueueBehaviour|string|null $queueBehaviour = null, - Type|string|null $type = null, - ?bool $valueRequired = null, - ): self { - $self = new self; - - null !== $builtIn && $self['builtIn'] = $builtIn; - null !== $description && $self['description'] = $description; - null !== $filterInQueueIDs && $self['filterInQueueIDs'] = $filterInQueueIDs; - null !== $freeText && $self['freeText'] = $freeText; - null !== $key && $self['key'] = $key; - null !== $name && $self['name'] = $name; - null !== $position && $self['position'] = $position; - null !== $possibleValues && $self['possibleValues'] = $possibleValues; - null !== $queueBehaviour && $self['queueBehaviour'] = $queueBehaviour; - null !== $type && $self['type'] = $type; - null !== $valueRequired && $self['valueRequired'] = $valueRequired; - - return $self; - } - - /** - * Whether the action is a built-in action or a custom one. - */ - public function withBuiltIn(?bool $builtIn): self - { - $self = clone $this; - $self['builtIn'] = $builtIn; - - return $self; - } - - /** - * The description of the action. - */ - public function withDescription(?string $description): self - { - $self = clone $this; - $self['description'] = $description; - - return $self; - } - - /** - * The IDs of the queues the action is available in. - * - * @param list $filterInQueueIDs - */ - public function withFilterInQueueIDs(array $filterInQueueIDs): self - { - $self = clone $this; - $self['filterInQueueIDs'] = $filterInQueueIDs; - - return $self; - } - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - public function withFreeText(bool $freeText): self - { - $self = clone $this; - $self['freeText'] = $freeText; - - return $self; - } - - /** - * User defined key of the action. - */ - public function withKey(?string $key): self - { - $self = clone $this; - $self['key'] = $key; - - return $self; - } - - /** - * The name of the action. - */ - public function withName(string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @param Position|value-of $position - */ - public function withPosition(Position|string $position): self - { - $self = clone $this; - $self['position'] = $position; - - return $self; - } - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @param list $possibleValues - */ - public function withPossibleValues(array $possibleValues): self - { - $self = clone $this; - $self['possibleValues'] = $possibleValues; - - return $self; - } - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @param QueueBehaviour|value-of $queueBehaviour - */ - public function withQueueBehaviour( - QueueBehaviour|string $queueBehaviour - ): self { - $self = clone $this; - $self['queueBehaviour'] = $queueBehaviour; - - return $self; - } - - /** - * The type of the action. - * - * @param Type|value-of|null $type - */ - public function withType(Type|string|null $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * Whether the action requires a value to be executed. - */ - public function withValueRequired(bool $valueRequired): self - { - $self = clone $this; - $self['valueRequired'] = $valueRequired; - - return $self; - } -} diff --git a/src/Actions/ActionUpdateParams/Position.php b/src/Actions/ActionUpdateParams/Position.php deleted file mode 100644 index 3878beb..0000000 --- a/src/Actions/ActionUpdateParams/Position.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * The value of the action. - */ - #[Required] - public string $value; - - /** - * `new PossibleValue()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * PossibleValue::with(value: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new PossibleValue)->withValue(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $value): self - { - $self = new self; - - $self['value'] = $value; - - return $self; - } - - /** - * The value of the action. - */ - public function withValue(string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Actions/ActionUpdateParams/QueueBehaviour.php b/src/Actions/ActionUpdateParams/QueueBehaviour.php deleted file mode 100644 index 4cdd8a0..0000000 --- a/src/Actions/ActionUpdateParams/QueueBehaviour.php +++ /dev/null @@ -1,17 +0,0 @@ -, - * freeText: bool, - * name: string, - * position: Position|value-of, - * possibleValues: list, - * queueBehaviour: QueueBehaviour|value-of, - * valueRequired: bool, - * description?: string|null, - * key?: string|null, - * type?: null|Type|value-of, - * } - */ -final class ActionUpdateResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * The ID of the action. - */ - #[Required] - public string $id; - - /** - * Whether the action is a built-in action or a custom one. - */ - #[Required] - public ?bool $builtIn; - - /** - * The date the action was created. - */ - #[Required] - public string $createdAt; - - /** - * The IDs of the queues the action is available in. - * - * @var list $filterInQueueIDs - */ - #[Required('filterInQueueIds', list: 'string')] - public array $filterInQueueIDs; - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - #[Required] - public bool $freeText; - - /** - * The name of the action. - */ - #[Required] - public string $name; - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @var value-of $position - */ - #[Required(enum: Position::class)] - public string $position; - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @var list $possibleValues - */ - #[Required(list: PossibleValue::class)] - public array $possibleValues; - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @var value-of $queueBehaviour - */ - #[Required(enum: QueueBehaviour::class)] - public string $queueBehaviour; - - /** - * Whether the action requires a value to be executed. - */ - #[Required] - public bool $valueRequired; - - /** - * The description of the action. - */ - #[Optional(nullable: true)] - public ?string $description; - - /** - * User defined key of the action. - */ - #[Optional(nullable: true)] - public ?string $key; - - /** - * The type of the action. - * - * @var value-of|null $type - */ - #[Optional(enum: Type::class, nullable: true)] - public ?string $type; - - /** - * `new ActionUpdateResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ActionUpdateResponse::with( - * id: ..., - * builtIn: ..., - * createdAt: ..., - * filterInQueueIDs: ..., - * freeText: ..., - * name: ..., - * position: ..., - * possibleValues: ..., - * queueBehaviour: ..., - * valueRequired: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ActionUpdateResponse) - * ->withID(...) - * ->withBuiltIn(...) - * ->withCreatedAt(...) - * ->withFilterInQueueIDs(...) - * ->withFreeText(...) - * ->withName(...) - * ->withPosition(...) - * ->withPossibleValues(...) - * ->withQueueBehaviour(...) - * ->withValueRequired(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list $filterInQueueIDs - * @param Position|value-of $position - * @param list $possibleValues - * @param QueueBehaviour|value-of $queueBehaviour - * @param Type|value-of|null $type - */ - public static function with( - string $id, - string $createdAt, - string $name, - ?bool $builtIn = false, - array $filterInQueueIDs = [], - bool $freeText = false, - Position|string $position = 'ALL_QUEUES', - array $possibleValues = [], - QueueBehaviour|string $queueBehaviour = 'NO_CHANGE', - bool $valueRequired = false, - ?string $description = null, - ?string $key = null, - Type|string|null $type = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['builtIn'] = $builtIn; - $self['createdAt'] = $createdAt; - $self['filterInQueueIDs'] = $filterInQueueIDs; - $self['freeText'] = $freeText; - $self['name'] = $name; - $self['position'] = $position; - $self['possibleValues'] = $possibleValues; - $self['queueBehaviour'] = $queueBehaviour; - $self['valueRequired'] = $valueRequired; - - null !== $description && $self['description'] = $description; - null !== $key && $self['key'] = $key; - null !== $type && $self['type'] = $type; - - return $self; - } - - /** - * The ID of the action. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Whether the action is a built-in action or a custom one. - */ - public function withBuiltIn(?bool $builtIn): self - { - $self = clone $this; - $self['builtIn'] = $builtIn; - - return $self; - } - - /** - * The date the action was created. - */ - public function withCreatedAt(string $createdAt): self - { - $self = clone $this; - $self['createdAt'] = $createdAt; - - return $self; - } - - /** - * The IDs of the queues the action is available in. - * - * @param list $filterInQueueIDs - */ - public function withFilterInQueueIDs(array $filterInQueueIDs): self - { - $self = clone $this; - $self['filterInQueueIDs'] = $filterInQueueIDs; - - return $self; - } - - /** - * Whether the action allows any text to be entered as a value or if it must be one of the possible values. - */ - public function withFreeText(bool $freeText): self - { - $self = clone $this; - $self['freeText'] = $freeText; - - return $self; - } - - /** - * The name of the action. - */ - public function withName(string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * Show the action in all queues, selected queues or no queues (to use via API only). - * - * @param Position|value-of $position - */ - public function withPosition(Position|string $position): self - { - $self = clone $this; - $self['position'] = $position; - - return $self; - } - - /** - * The possible values of the action. The user will be prompted to select one of these values when executing the action. - * - * @param list $possibleValues - */ - public function withPossibleValues(array $possibleValues): self - { - $self = clone $this; - $self['possibleValues'] = $possibleValues; - - return $self; - } - - /** - * Whether the action resolves and removes the item, unresolves and re-add it to the queue, or does not change the resolve status. - * - * @param QueueBehaviour|value-of $queueBehaviour - */ - public function withQueueBehaviour( - QueueBehaviour|string $queueBehaviour - ): self { - $self = clone $this; - $self['queueBehaviour'] = $queueBehaviour; - - return $self; - } - - /** - * Whether the action requires a value to be executed. - */ - public function withValueRequired(bool $valueRequired): self - { - $self = clone $this; - $self['valueRequired'] = $valueRequired; - - return $self; - } - - /** - * The description of the action. - */ - public function withDescription(?string $description): self - { - $self = clone $this; - $self['description'] = $description; - - return $self; - } - - /** - * User defined key of the action. - */ - public function withKey(?string $key): self - { - $self = clone $this; - $self['key'] = $key; - - return $self; - } - - /** - * The type of the action. - * - * @param Type|value-of|null $type - */ - public function withType(Type|string|null $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } -} diff --git a/src/Actions/ActionUpdateResponse/Position.php b/src/Actions/ActionUpdateResponse/Position.php deleted file mode 100644 index dbf0986..0000000 --- a/src/Actions/ActionUpdateResponse/Position.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * The value of the action. - */ - #[Required] - public string $value; - - /** - * `new PossibleValue()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * PossibleValue::with(value: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new PossibleValue)->withValue(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $value): self - { - $self = new self; - - $self['value'] = $value; - - return $self; - } - - /** - * The value of the action. - */ - public function withValue(string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Actions/ActionUpdateResponse/QueueBehaviour.php b/src/Actions/ActionUpdateResponse/QueueBehaviour.php deleted file mode 100644 index 2743e5b..0000000 --- a/src/Actions/ActionUpdateResponse/QueueBehaviour.php +++ /dev/null @@ -1,17 +0,0 @@ -|null, - * contentIDs?: list|null, - * queueID?: string|null, - * value?: string|null, - * } - */ -final class ExecuteExecuteByIDParams implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - use SdkParams; - - /** - * IDs of the authors to apply the action to. - * - * @var list|null $authorIDs - */ - #[Optional('authorIds', list: 'string')] - public ?array $authorIDs; - - /** - * The IDs of the content items to perform the action on. - * - * @var list|null $contentIDs - */ - #[Optional('contentIds', list: 'string')] - public ?array $contentIDs; - - /** - * The ID of the queue the action was performed from if any. - */ - #[Optional('queueId')] - public ?string $queueID; - - /** - * The value of the action. Useful to set a reason for the action etc. - */ - #[Optional] - public ?string $value; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list|null $authorIDs - * @param list|null $contentIDs - */ - public static function with( - ?array $authorIDs = null, - ?array $contentIDs = null, - ?string $queueID = null, - ?string $value = null, - ): self { - $self = new self; - - null !== $authorIDs && $self['authorIDs'] = $authorIDs; - null !== $contentIDs && $self['contentIDs'] = $contentIDs; - null !== $queueID && $self['queueID'] = $queueID; - null !== $value && $self['value'] = $value; - - return $self; - } - - /** - * IDs of the authors to apply the action to. - * - * @param list $authorIDs - */ - public function withAuthorIDs(array $authorIDs): self - { - $self = clone $this; - $self['authorIDs'] = $authorIDs; - - return $self; - } - - /** - * The IDs of the content items to perform the action on. - * - * @param list $contentIDs - */ - public function withContentIDs(array $contentIDs): self - { - $self = clone $this; - $self['contentIDs'] = $contentIDs; - - return $self; - } - - /** - * The ID of the queue the action was performed from if any. - */ - public function withQueueID(string $queueID): self - { - $self = clone $this; - $self['queueID'] = $queueID; - - return $self; - } - - /** - * The value of the action. Useful to set a reason for the action etc. - */ - public function withValue(string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Actions/Execute/ExecuteExecuteByIDResponse.php b/src/Actions/Execute/ExecuteExecuteByIDResponse.php deleted file mode 100644 index c7e4a37..0000000 --- a/src/Actions/Execute/ExecuteExecuteByIDResponse.php +++ /dev/null @@ -1,118 +0,0 @@ -, success: bool - * } - */ -final class ExecuteExecuteByIDResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * The ID of the action. - */ - #[Required('actionId')] - public string $actionID; - - /** - * The IDs of the content items. - * - * @var list $ids - */ - #[Required(list: 'string')] - public array $ids; - - /** - * Action executed successfully. - */ - #[Required] - public bool $success; - - /** - * `new ExecuteExecuteByIDResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ExecuteExecuteByIDResponse::with(actionID: ..., ids: ..., success: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ExecuteExecuteByIDResponse) - * ->withActionID(...) - * ->withIDs(...) - * ->withSuccess(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list $ids - */ - public static function with( - string $actionID, - array $ids, - bool $success - ): self { - $self = new self; - - $self['actionID'] = $actionID; - $self['ids'] = $ids; - $self['success'] = $success; - - return $self; - } - - /** - * The ID of the action. - */ - public function withActionID(string $actionID): self - { - $self = clone $this; - $self['actionID'] = $actionID; - - return $self; - } - - /** - * The IDs of the content items. - * - * @param list $ids - */ - public function withIDs(array $ids): self - { - $self = clone $this; - $self['ids'] = $ids; - - return $self; - } - - /** - * Action executed successfully. - */ - public function withSuccess(bool $success): self - { - $self = clone $this; - $self['success'] = $success; - - return $self; - } -} diff --git a/src/Actions/Execute/ExecuteExecuteParams.php b/src/Actions/Execute/ExecuteExecuteParams.php deleted file mode 100644 index debdf98..0000000 --- a/src/Actions/Execute/ExecuteExecuteParams.php +++ /dev/null @@ -1,190 +0,0 @@ -|null, - * contentIDs?: list|null, - * duration?: float|null, - * queueID?: string|null, - * value?: string|null, - * } - */ -final class ExecuteExecuteParams implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - use SdkParams; - - /** - * ID or key of the action to execute. - */ - #[Required] - public string $actionKey; - - /** - * IDs of the authors to apply the action to. Provide this or contentIds. - * - * @var list|null $authorIDs - */ - #[Optional('authorIds', list: 'string')] - public ?array $authorIDs; - - /** - * IDs of the content items to apply the action to. Provide this or authorIds. - * - * @var list|null $contentIDs - */ - #[Optional('contentIds', list: 'string')] - public ?array $contentIDs; - - /** - * Optional duration in milliseconds for actions with timeouts. - */ - #[Optional] - public ?float $duration; - - /** - * Optional queue ID if the action is queue-specific. - */ - #[Optional('queueId')] - public ?string $queueID; - - /** - * Optional value to provide with the action. - */ - #[Optional] - public ?string $value; - - /** - * `new ExecuteExecuteParams()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ExecuteExecuteParams::with(actionKey: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ExecuteExecuteParams)->withActionKey(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list|null $authorIDs - * @param list|null $contentIDs - */ - public static function with( - string $actionKey, - ?array $authorIDs = null, - ?array $contentIDs = null, - ?float $duration = null, - ?string $queueID = null, - ?string $value = null, - ): self { - $self = new self; - - $self['actionKey'] = $actionKey; - - null !== $authorIDs && $self['authorIDs'] = $authorIDs; - null !== $contentIDs && $self['contentIDs'] = $contentIDs; - null !== $duration && $self['duration'] = $duration; - null !== $queueID && $self['queueID'] = $queueID; - null !== $value && $self['value'] = $value; - - return $self; - } - - /** - * ID or key of the action to execute. - */ - public function withActionKey(string $actionKey): self - { - $self = clone $this; - $self['actionKey'] = $actionKey; - - return $self; - } - - /** - * IDs of the authors to apply the action to. Provide this or contentIds. - * - * @param list $authorIDs - */ - public function withAuthorIDs(array $authorIDs): self - { - $self = clone $this; - $self['authorIDs'] = $authorIDs; - - return $self; - } - - /** - * IDs of the content items to apply the action to. Provide this or authorIds. - * - * @param list $contentIDs - */ - public function withContentIDs(array $contentIDs): self - { - $self = clone $this; - $self['contentIDs'] = $contentIDs; - - return $self; - } - - /** - * Optional duration in milliseconds for actions with timeouts. - */ - public function withDuration(float $duration): self - { - $self = clone $this; - $self['duration'] = $duration; - - return $self; - } - - /** - * Optional queue ID if the action is queue-specific. - */ - public function withQueueID(string $queueID): self - { - $self = clone $this; - $self['queueID'] = $queueID; - - return $self; - } - - /** - * Optional value to provide with the action. - */ - public function withValue(string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Actions/Execute/ExecuteExecuteResponse.php b/src/Actions/Execute/ExecuteExecuteResponse.php deleted file mode 100644 index 6b941bf..0000000 --- a/src/Actions/Execute/ExecuteExecuteResponse.php +++ /dev/null @@ -1,70 +0,0 @@ - */ - use SdkModel; - - /** - * Whether the action was executed successfully. - */ - #[Required] - public bool $success; - - /** - * `new ExecuteExecuteResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ExecuteExecuteResponse::with(success: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ExecuteExecuteResponse)->withSuccess(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $success): self - { - $self = new self; - - $self['success'] = $success; - - return $self; - } - - /** - * Whether the action was executed successfully. - */ - public function withSuccess(bool $success): self - { - $self = clone $this; - $self['success'] = $success; - - return $self; - } -} diff --git a/src/Auth/AuthGetResponse.php b/src/Auth/AuthGetResponse.php deleted file mode 100644 index 835c986..0000000 --- a/src/Auth/AuthGetResponse.php +++ /dev/null @@ -1,86 +0,0 @@ - */ - use SdkModel; - - /** - * Message of the authentication. - */ - #[Required] - public string $message; - - /** - * Status of the authentication. - */ - #[Required] - public string $status; - - /** - * `new AuthGetResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AuthGetResponse::with(message: ..., status: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AuthGetResponse)->withMessage(...)->withStatus(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $message, string $status): self - { - $self = new self; - - $self['message'] = $message; - $self['status'] = $status; - - return $self; - } - - /** - * Message of the authentication. - */ - public function withMessage(string $message): self - { - $self = clone $this; - $self['message'] = $message; - - return $self; - } - - /** - * Status of the authentication. - */ - public function withStatus(string $status): self - { - $self = clone $this; - $self['status'] = $status; - - return $self; - } -} diff --git a/src/Auth/AuthNewResponse.php b/src/Auth/AuthNewResponse.php deleted file mode 100644 index 17dbd12..0000000 --- a/src/Auth/AuthNewResponse.php +++ /dev/null @@ -1,109 +0,0 @@ - */ - use SdkModel; - - /** - * Message of the authentication. - */ - #[Required] - public string $message; - - /** - * Name of the authenticated project. - */ - #[Required] - public string $project; - - /** - * Status of the authentication. - */ - #[Required] - public string $status; - - /** - * `new AuthNewResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AuthNewResponse::with(message: ..., project: ..., status: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AuthNewResponse)->withMessage(...)->withProject(...)->withStatus(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - string $message, - string $project, - string $status - ): self { - $self = new self; - - $self['message'] = $message; - $self['project'] = $project; - $self['status'] = $status; - - return $self; - } - - /** - * Message of the authentication. - */ - public function withMessage(string $message): self - { - $self = clone $this; - $self['message'] = $message; - - return $self; - } - - /** - * Name of the authenticated project. - */ - public function withProject(string $project): self - { - $self = clone $this; - $self['project'] = $project; - - return $self; - } - - /** - * Status of the authentication. - */ - public function withStatus(string $status): self - { - $self = clone $this; - $self['status'] = $status; - - return $self; - } -} diff --git a/src/Authors.php b/src/Authors.php new file mode 100644 index 0000000..24f17af --- /dev/null +++ b/src/Authors.php @@ -0,0 +1,786 @@ +sdkConfiguration = $sdkConfig; + } + /** + * @param string $baseUrl + * @param array $urlVariables + * + * @return string + */ + public function getUrl(string $baseUrl, array $urlVariables): string + { + $serverDetails = $this->sdkConfiguration->getServerDetails(); + + if ($baseUrl == null) { + $baseUrl = $serverDetails->baseUrl; + } + + if ($urlVariables == null) { + $urlVariables = $serverDetails->options; + } + + return Utils\Utils::templateUrl($baseUrl, $urlVariables); + } + + /** + * Create a new author + * + * Create a new author. Typically not needed as authors are created automatically when content is moderated. + * + * @param \ModerationApi\Models\Operations\CreateAuthorRequest $request + * @return \ModerationApi\Models\Operations\CreateAuthorResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function create(Operations\CreateAuthorRequest $request, ?Options $options = null): Operations\CreateAuthorResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/authors'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'createAuthor', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Components\PublicAuthor', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CreateAuthorResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + publicAuthor: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['500'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\InternalServerError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Delete an author + * + * Delete a specific author. This resets the author: status, blocks, trust level, metrics and action history are removed. The author is created again with a clean record the next time content is moderated for the same ID. + * + * @param string $id + * @return \ModerationApi\Models\Operations\DeleteAuthorResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function delete(string $id, ?Options $options = null): Operations\DeleteAuthorResponse + { + $request = new Operations\DeleteAuthorRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/authors/{id}', Operations\DeleteAuthorRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'deleteAuthor', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\DeleteAuthorResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\DeleteAuthorResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['500'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\InternalServerError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Get author details + * + * Get detailed information about a specific author including historical data and analysis + * + * @param string $id + * @return \ModerationApi\Models\Operations\GetAuthorResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function retrieve(string $id, ?Options $options = null): Operations\GetAuthorResponse + { + $request = new Operations\GetAuthorRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/authors/{id}', Operations\GetAuthorRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'getAuthor', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Components\PublicAuthor', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\GetAuthorResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + publicAuthor: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['500'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\InternalServerError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * List authors + * + * List authors with their activity metrics and reputation. The list is paginated. + * + * @param ?\ModerationApi\Models\Operations\ListAuthorsRequest $request + * @return \ModerationApi\Models\Operations\ListAuthorsResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + private function listIndividual(?Operations\ListAuthorsRequest $request = null, ?Options $options = null): Operations\ListAuthorsResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/authors'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\ListAuthorsRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'listAuthors', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\ListAuthorsResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\ListAuthorsResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + $sdk = $this; + + $response->next = function () use ($sdk, $request, $responseData): ?Operations\ListAuthorsResponse { + $page = $request != null && $request->page != null ? $request->page : 1; + $nextPage = $page + 1; + $jsonObject = new \JsonPath\JsonObject($responseData); + $numPages = $jsonObject->get('$.pagination.totalPages'); + if ($numPages == null || $numPages[0] <= $page) { + return null; + } + if (! $responseData) { + return null; + } + $jsonObject = new \JsonPath\JsonObject($responseData); + $results = $jsonObject->get('$.data'); + + if (is_array($results)) { + $results = $results[0]; + } + if (count($results) === 0) { + return null; + } + $limit = $request != null && $request->pageSize != null ? $request->pageSize : 20; + if (count($results) < $limit) { + return null; + } + + return $sdk->listIndividual( + request: new Operations\ListAuthorsRequest( + page: $nextPage, + pageSize: $request != null ? $request->pageSize : null, + sortBy: $request != null ? $request->sortBy : null, + sortDirection: $request != null ? $request->sortDirection : null, + memberSinceDate: $request != null ? $request->memberSinceDate : null, + lastActiveDate: $request != null ? $request->lastActiveDate : null, + contentTypes: $request != null ? $request->contentTypes : null, + ), + ); + }; + + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['500'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\InternalServerError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** + * List authors + * + * List authors with their activity metrics and reputation. The list is paginated. + * + * @param ?\ModerationApi\Models\Operations\ListAuthorsRequest $request + * @return \Generator<\ModerationApi\Models\Operations\ListAuthorsResponse> + * @throws \ModerationApi\Models\Errors\APIException + */ + public function list(?Operations\ListAuthorsRequest $request = null, ?Options $options = null): \Generator + { + $res = $this->listIndividual($request, $options); + while ($res !== null) { + yield $res; + $res = $res->next($res); + } + } + + /** + * Update author details + * + * Update the details of a specific author + * + * @param \ModerationApi\Models\Operations\UpdateAuthorRequestBody $body + * @param string $id + * @return \ModerationApi\Models\Operations\UpdateAuthorResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function update(Operations\UpdateAuthorRequestBody $body, string $id, ?Options $options = null): Operations\UpdateAuthorResponse + { + $request = new Operations\UpdateAuthorRequest( + id: $id, + body: $body, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/authors/{id}', Operations\UpdateAuthorRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'body', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('PUT', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'updateAuthor', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Components\PublicAuthor', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\UpdateAuthorResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + publicAuthor: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['500'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\InternalServerError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + +} \ No newline at end of file diff --git a/src/Authors/AuthorCreateParams.php b/src/Authors/AuthorCreateParams.php deleted file mode 100644 index 8a5880d..0000000 --- a/src/Authors/AuthorCreateParams.php +++ /dev/null @@ -1,260 +0,0 @@ - */ - use SdkModel; - use SdkParams; - - /** - * External ID of the user, typically the ID of the author in your database. - */ - #[Required('external_id')] - public string $externalID; - - /** - * The author's company or organization. - */ - #[Optional(nullable: true)] - public ?string $company; - - /** - * Author email address. - */ - #[Optional(nullable: true)] - public ?string $email; - - /** - * URL of the author's external profile. - */ - #[Optional('external_link', nullable: true)] - public ?string $externalLink; - - /** - * Timestamp when author first appeared. - */ - #[Optional('first_seen')] - public ?float $firstSeen; - - /** - * Timestamp of last activity. - */ - #[Optional('last_seen')] - public ?float $lastSeen; - - #[Optional('manual_trust_level', nullable: true)] - public ?float $manualTrustLevel; - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - */ - #[Optional] - public ?Metadata $metadata; - - /** - * Author name or identifier. - */ - #[Optional(nullable: true)] - public ?string $name; - - /** - * URL of the author's profile picture. - */ - #[Optional('profile_picture', nullable: true)] - public ?string $profilePicture; - - /** - * `new AuthorCreateParams()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AuthorCreateParams::with(externalID: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AuthorCreateParams)->withExternalID(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Metadata|MetadataShape|null $metadata - */ - public static function with( - string $externalID, - ?string $company = null, - ?string $email = null, - ?string $externalLink = null, - ?float $firstSeen = null, - ?float $lastSeen = null, - ?float $manualTrustLevel = null, - Metadata|array|null $metadata = null, - ?string $name = null, - ?string $profilePicture = null, - ): self { - $self = new self; - - $self['externalID'] = $externalID; - - null !== $company && $self['company'] = $company; - null !== $email && $self['email'] = $email; - null !== $externalLink && $self['externalLink'] = $externalLink; - null !== $firstSeen && $self['firstSeen'] = $firstSeen; - null !== $lastSeen && $self['lastSeen'] = $lastSeen; - null !== $manualTrustLevel && $self['manualTrustLevel'] = $manualTrustLevel; - null !== $metadata && $self['metadata'] = $metadata; - null !== $name && $self['name'] = $name; - null !== $profilePicture && $self['profilePicture'] = $profilePicture; - - return $self; - } - - /** - * External ID of the user, typically the ID of the author in your database. - */ - public function withExternalID(string $externalID): self - { - $self = clone $this; - $self['externalID'] = $externalID; - - return $self; - } - - /** - * The author's company or organization. - */ - public function withCompany(?string $company): self - { - $self = clone $this; - $self['company'] = $company; - - return $self; - } - - /** - * Author email address. - */ - public function withEmail(?string $email): self - { - $self = clone $this; - $self['email'] = $email; - - return $self; - } - - /** - * URL of the author's external profile. - */ - public function withExternalLink(?string $externalLink): self - { - $self = clone $this; - $self['externalLink'] = $externalLink; - - return $self; - } - - /** - * Timestamp when author first appeared. - */ - public function withFirstSeen(float $firstSeen): self - { - $self = clone $this; - $self['firstSeen'] = $firstSeen; - - return $self; - } - - /** - * Timestamp of last activity. - */ - public function withLastSeen(float $lastSeen): self - { - $self = clone $this; - $self['lastSeen'] = $lastSeen; - - return $self; - } - - public function withManualTrustLevel(?float $manualTrustLevel): self - { - $self = clone $this; - $self['manualTrustLevel'] = $manualTrustLevel; - - return $self; - } - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - * - * @param Metadata|MetadataShape $metadata - */ - public function withMetadata(Metadata|array $metadata): self - { - $self = clone $this; - $self['metadata'] = $metadata; - - return $self; - } - - /** - * Author name or identifier. - */ - public function withName(?string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * URL of the author's profile picture. - */ - public function withProfilePicture(?string $profilePicture): self - { - $self = clone $this; - $self['profilePicture'] = $profilePicture; - - return $self; - } -} diff --git a/src/Authors/AuthorCreateParams/Metadata.php b/src/Authors/AuthorCreateParams/Metadata.php deleted file mode 100644 index e20bd20..0000000 --- a/src/Authors/AuthorCreateParams/Metadata.php +++ /dev/null @@ -1,119 +0,0 @@ - */ - use SdkModel; - - /** - * Whether the author's email is verified. - */ - #[Optional('email_verified', nullable: true)] - public ?bool $emailVerified; - - /** - * Whether the author's identity is verified. - */ - #[Optional('identity_verified', nullable: true)] - public ?bool $identityVerified; - - /** - * Whether the author is a paying customer. - */ - #[Optional('is_paying_customer', nullable: true)] - public ?bool $isPayingCustomer; - - /** - * Whether the author's phone number is verified. - */ - #[Optional('phone_verified', nullable: true)] - public ?bool $phoneVerified; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?bool $emailVerified = null, - ?bool $identityVerified = null, - ?bool $isPayingCustomer = null, - ?bool $phoneVerified = null, - ): self { - $self = new self; - - null !== $emailVerified && $self['emailVerified'] = $emailVerified; - null !== $identityVerified && $self['identityVerified'] = $identityVerified; - null !== $isPayingCustomer && $self['isPayingCustomer'] = $isPayingCustomer; - null !== $phoneVerified && $self['phoneVerified'] = $phoneVerified; - - return $self; - } - - /** - * Whether the author's email is verified. - */ - public function withEmailVerified(?bool $emailVerified): self - { - $self = clone $this; - $self['emailVerified'] = $emailVerified; - - return $self; - } - - /** - * Whether the author's identity is verified. - */ - public function withIdentityVerified(?bool $identityVerified): self - { - $self = clone $this; - $self['identityVerified'] = $identityVerified; - - return $self; - } - - /** - * Whether the author is a paying customer. - */ - public function withIsPayingCustomer(?bool $isPayingCustomer): self - { - $self = clone $this; - $self['isPayingCustomer'] = $isPayingCustomer; - - return $self; - } - - /** - * Whether the author's phone number is verified. - */ - public function withPhoneVerified(?bool $phoneVerified): self - { - $self = clone $this; - $self['phoneVerified'] = $phoneVerified; - - return $self; - } -} diff --git a/src/Authors/AuthorDeleteResponse.php b/src/Authors/AuthorDeleteResponse.php deleted file mode 100644 index 276e48c..0000000 --- a/src/Authors/AuthorDeleteResponse.php +++ /dev/null @@ -1,62 +0,0 @@ - */ - use SdkModel; - - #[Required] - public bool $success; - - /** - * `new AuthorDeleteResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AuthorDeleteResponse::with(success: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AuthorDeleteResponse)->withSuccess(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $success): self - { - $self = new self; - - $self['success'] = $success; - - return $self; - } - - public function withSuccess(bool $success): self - { - $self = clone $this; - $self['success'] = $success; - - return $self; - } -} diff --git a/src/Authors/AuthorGetResponse.php b/src/Authors/AuthorGetResponse.php deleted file mode 100644 index 808263e..0000000 --- a/src/Authors/AuthorGetResponse.php +++ /dev/null @@ -1,416 +0,0 @@ -, - * trustLevel: TrustLevel|TrustLevelShape, - * company?: string|null, - * email?: string|null, - * externalID?: string|null, - * externalLink?: string|null, - * lastIncident?: float|null, - * name?: string|null, - * profilePicture?: string|null, - * } - */ -final class AuthorGetResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * Author ID in Moderation API. - */ - #[Required] - public string $id; - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - */ - #[Required] - public ?Block $block; - - /** - * Timestamp when author first appeared. - */ - #[Required('first_seen')] - public float $firstSeen; - - /** - * Timestamp of last activity. - */ - #[Required('last_seen')] - public float $lastSeen; - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - */ - #[Required] - public Metadata $metadata; - - #[Required] - public Metrics $metrics; - - /** - * Risk assessment details, if available. - */ - #[Required('risk_evaluation')] - public ?RiskEvaluation $riskEvaluation; - - /** - * Current author status. - * - * @var value-of $status - */ - #[Required(enum: Status::class)] - public string $status; - - #[Required('trust_level')] - public TrustLevel $trustLevel; - - /** - * The author's company or organization. - */ - #[Optional(nullable: true)] - public ?string $company; - - /** - * Author email address. - */ - #[Optional(nullable: true)] - public ?string $email; - - /** - * The author's ID from your system. - */ - #[Optional('external_id', nullable: true)] - public ?string $externalID; - - /** - * URL of the author's external profile. - */ - #[Optional('external_link', nullable: true)] - public ?string $externalLink; - - /** - * Timestamp of last incident. - */ - #[Optional('last_incident', nullable: true)] - public ?float $lastIncident; - - /** - * Author name or identifier. - */ - #[Optional(nullable: true)] - public ?string $name; - - /** - * URL of the author's profile picture. - */ - #[Optional('profile_picture', nullable: true)] - public ?string $profilePicture; - - /** - * `new AuthorGetResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AuthorGetResponse::with( - * id: ..., - * block: ..., - * firstSeen: ..., - * lastSeen: ..., - * metadata: ..., - * metrics: ..., - * riskEvaluation: ..., - * status: ..., - * trustLevel: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AuthorGetResponse) - * ->withID(...) - * ->withBlock(...) - * ->withFirstSeen(...) - * ->withLastSeen(...) - * ->withMetadata(...) - * ->withMetrics(...) - * ->withRiskEvaluation(...) - * ->withStatus(...) - * ->withTrustLevel(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Block|BlockShape|null $block - * @param Metadata|MetadataShape $metadata - * @param Metrics|MetricsShape $metrics - * @param RiskEvaluation|RiskEvaluationShape|null $riskEvaluation - * @param Status|value-of $status - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public static function with( - string $id, - Block|array|null $block, - float $firstSeen, - float $lastSeen, - Metadata|array $metadata, - Metrics|array $metrics, - RiskEvaluation|array|null $riskEvaluation, - Status|string $status, - TrustLevel|array $trustLevel, - ?string $company = null, - ?string $email = null, - ?string $externalID = null, - ?string $externalLink = null, - ?float $lastIncident = null, - ?string $name = null, - ?string $profilePicture = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['block'] = $block; - $self['firstSeen'] = $firstSeen; - $self['lastSeen'] = $lastSeen; - $self['metadata'] = $metadata; - $self['metrics'] = $metrics; - $self['riskEvaluation'] = $riskEvaluation; - $self['status'] = $status; - $self['trustLevel'] = $trustLevel; - - null !== $company && $self['company'] = $company; - null !== $email && $self['email'] = $email; - null !== $externalID && $self['externalID'] = $externalID; - null !== $externalLink && $self['externalLink'] = $externalLink; - null !== $lastIncident && $self['lastIncident'] = $lastIncident; - null !== $name && $self['name'] = $name; - null !== $profilePicture && $self['profilePicture'] = $profilePicture; - - return $self; - } - - /** - * Author ID in Moderation API. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - * - * @param Block|BlockShape|null $block - */ - public function withBlock(Block|array|null $block): self - { - $self = clone $this; - $self['block'] = $block; - - return $self; - } - - /** - * Timestamp when author first appeared. - */ - public function withFirstSeen(float $firstSeen): self - { - $self = clone $this; - $self['firstSeen'] = $firstSeen; - - return $self; - } - - /** - * Timestamp of last activity. - */ - public function withLastSeen(float $lastSeen): self - { - $self = clone $this; - $self['lastSeen'] = $lastSeen; - - return $self; - } - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - * - * @param Metadata|MetadataShape $metadata - */ - public function withMetadata(Metadata|array $metadata): self - { - $self = clone $this; - $self['metadata'] = $metadata; - - return $self; - } - - /** - * @param Metrics|MetricsShape $metrics - */ - public function withMetrics(Metrics|array $metrics): self - { - $self = clone $this; - $self['metrics'] = $metrics; - - return $self; - } - - /** - * Risk assessment details, if available. - * - * @param RiskEvaluation|RiskEvaluationShape|null $riskEvaluation - */ - public function withRiskEvaluation( - RiskEvaluation|array|null $riskEvaluation - ): self { - $self = clone $this; - $self['riskEvaluation'] = $riskEvaluation; - - return $self; - } - - /** - * Current author status. - * - * @param Status|value-of $status - */ - public function withStatus(Status|string $status): self - { - $self = clone $this; - $self['status'] = $status; - - return $self; - } - - /** - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public function withTrustLevel(TrustLevel|array $trustLevel): self - { - $self = clone $this; - $self['trustLevel'] = $trustLevel; - - return $self; - } - - /** - * The author's company or organization. - */ - public function withCompany(?string $company): self - { - $self = clone $this; - $self['company'] = $company; - - return $self; - } - - /** - * Author email address. - */ - public function withEmail(?string $email): self - { - $self = clone $this; - $self['email'] = $email; - - return $self; - } - - /** - * The author's ID from your system. - */ - public function withExternalID(?string $externalID): self - { - $self = clone $this; - $self['externalID'] = $externalID; - - return $self; - } - - /** - * URL of the author's external profile. - */ - public function withExternalLink(?string $externalLink): self - { - $self = clone $this; - $self['externalLink'] = $externalLink; - - return $self; - } - - /** - * Timestamp of last incident. - */ - public function withLastIncident(?float $lastIncident): self - { - $self = clone $this; - $self['lastIncident'] = $lastIncident; - - return $self; - } - - /** - * Author name or identifier. - */ - public function withName(?string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * URL of the author's profile picture. - */ - public function withProfilePicture(?string $profilePicture): self - { - $self = clone $this; - $self['profilePicture'] = $profilePicture; - - return $self; - } -} diff --git a/src/Authors/AuthorGetResponse/Block.php b/src/Authors/AuthorGetResponse/Block.php deleted file mode 100644 index a192cba..0000000 --- a/src/Authors/AuthorGetResponse/Block.php +++ /dev/null @@ -1,76 +0,0 @@ - */ - use SdkModel; - - /** - * The moderators reason why the author was blocked or suspended. - */ - #[Optional(nullable: true)] - public ?string $reason; - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - #[Optional(nullable: true)] - public ?float $until; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?string $reason = null, - ?float $until = null - ): self { - $self = new self; - - null !== $reason && $self['reason'] = $reason; - null !== $until && $self['until'] = $until; - - return $self; - } - - /** - * The moderators reason why the author was blocked or suspended. - */ - public function withReason(?string $reason): self - { - $self = clone $this; - $self['reason'] = $reason; - - return $self; - } - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - public function withUntil(?float $until): self - { - $self = clone $this; - $self['until'] = $until; - - return $self; - } -} diff --git a/src/Authors/AuthorGetResponse/Metadata.php b/src/Authors/AuthorGetResponse/Metadata.php deleted file mode 100644 index a3f3763..0000000 --- a/src/Authors/AuthorGetResponse/Metadata.php +++ /dev/null @@ -1,119 +0,0 @@ - */ - use SdkModel; - - /** - * Whether the author's email is verified. - */ - #[Optional('email_verified', nullable: true)] - public ?bool $emailVerified; - - /** - * Whether the author's identity is verified. - */ - #[Optional('identity_verified', nullable: true)] - public ?bool $identityVerified; - - /** - * Whether the author is a paying customer. - */ - #[Optional('is_paying_customer', nullable: true)] - public ?bool $isPayingCustomer; - - /** - * Whether the author's phone number is verified. - */ - #[Optional('phone_verified', nullable: true)] - public ?bool $phoneVerified; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?bool $emailVerified = null, - ?bool $identityVerified = null, - ?bool $isPayingCustomer = null, - ?bool $phoneVerified = null, - ): self { - $self = new self; - - null !== $emailVerified && $self['emailVerified'] = $emailVerified; - null !== $identityVerified && $self['identityVerified'] = $identityVerified; - null !== $isPayingCustomer && $self['isPayingCustomer'] = $isPayingCustomer; - null !== $phoneVerified && $self['phoneVerified'] = $phoneVerified; - - return $self; - } - - /** - * Whether the author's email is verified. - */ - public function withEmailVerified(?bool $emailVerified): self - { - $self = clone $this; - $self['emailVerified'] = $emailVerified; - - return $self; - } - - /** - * Whether the author's identity is verified. - */ - public function withIdentityVerified(?bool $identityVerified): self - { - $self = clone $this; - $self['identityVerified'] = $identityVerified; - - return $self; - } - - /** - * Whether the author is a paying customer. - */ - public function withIsPayingCustomer(?bool $isPayingCustomer): self - { - $self = clone $this; - $self['isPayingCustomer'] = $isPayingCustomer; - - return $self; - } - - /** - * Whether the author's phone number is verified. - */ - public function withPhoneVerified(?bool $phoneVerified): self - { - $self = clone $this; - $self['phoneVerified'] = $phoneVerified; - - return $self; - } -} diff --git a/src/Authors/AuthorGetResponse/Metrics.php b/src/Authors/AuthorGetResponse/Metrics.php deleted file mode 100644 index a19ea48..0000000 --- a/src/Authors/AuthorGetResponse/Metrics.php +++ /dev/null @@ -1,111 +0,0 @@ - */ - use SdkModel; - - /** - * Number of flagged content pieces. - */ - #[Required('flagged_content')] - public float $flaggedContent; - - /** - * Total pieces of content. - */ - #[Required('total_content')] - public float $totalContent; - - /** - * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. - */ - #[Optional('average_sentiment', nullable: true)] - public ?float $averageSentiment; - - /** - * `new Metrics()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Metrics::with(flaggedContent: ..., totalContent: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Metrics)->withFlaggedContent(...)->withTotalContent(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - float $flaggedContent, - float $totalContent, - ?float $averageSentiment = null - ): self { - $self = new self; - - $self['flaggedContent'] = $flaggedContent; - $self['totalContent'] = $totalContent; - - null !== $averageSentiment && $self['averageSentiment'] = $averageSentiment; - - return $self; - } - - /** - * Number of flagged content pieces. - */ - public function withFlaggedContent(float $flaggedContent): self - { - $self = clone $this; - $self['flaggedContent'] = $flaggedContent; - - return $self; - } - - /** - * Total pieces of content. - */ - public function withTotalContent(float $totalContent): self - { - $self = clone $this; - $self['totalContent'] = $totalContent; - - return $self; - } - - /** - * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. - */ - public function withAverageSentiment(?float $averageSentiment): self - { - $self = clone $this; - $self['averageSentiment'] = $averageSentiment; - - return $self; - } -} diff --git a/src/Authors/AuthorGetResponse/RiskEvaluation.php b/src/Authors/AuthorGetResponse/RiskEvaluation.php deleted file mode 100644 index 5549c99..0000000 --- a/src/Authors/AuthorGetResponse/RiskEvaluation.php +++ /dev/null @@ -1,56 +0,0 @@ - */ - use SdkModel; - - /** - * Calculated risk level based on more than 10 behavioral signals. - */ - #[Optional('risk_level', nullable: true)] - public ?float $riskLevel; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?float $riskLevel = null): self - { - $self = new self; - - null !== $riskLevel && $self['riskLevel'] = $riskLevel; - - return $self; - } - - /** - * Calculated risk level based on more than 10 behavioral signals. - */ - public function withRiskLevel(?float $riskLevel): self - { - $self = clone $this; - $self['riskLevel'] = $riskLevel; - - return $self; - } -} diff --git a/src/Authors/AuthorGetResponse/Status.php b/src/Authors/AuthorGetResponse/Status.php deleted file mode 100644 index db8b893..0000000 --- a/src/Authors/AuthorGetResponse/Status.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - #[Required] - public float $level; - - /** - * True if the trust level was set manually by a moderator. - */ - #[Required] - public bool $manual; - - /** - * `new TrustLevel()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * TrustLevel::with(level: ..., manual: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new TrustLevel)->withLevel(...)->withManual(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(float $level, bool $manual): self - { - $self = new self; - - $self['level'] = $level; - $self['manual'] = $manual; - - return $self; - } - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - public function withLevel(float $level): self - { - $self = clone $this; - $self['level'] = $level; - - return $self; - } - - /** - * True if the trust level was set manually by a moderator. - */ - public function withManual(bool $manual): self - { - $self = clone $this; - $self['manual'] = $manual; - - return $self; - } -} diff --git a/src/Authors/AuthorListParams.php b/src/Authors/AuthorListParams.php deleted file mode 100644 index 49cc775..0000000 --- a/src/Authors/AuthorListParams.php +++ /dev/null @@ -1,172 +0,0 @@ -, - * sortDirection?: null|SortDirection|value-of, - * } - */ -final class AuthorListParams implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - use SdkParams; - - #[Optional] - public ?string $contentTypes; - - #[Optional] - public ?string $lastActiveDate; - - #[Optional] - public ?string $memberSinceDate; - - /** - * Page number to fetch. - */ - #[Optional] - public ?float $pageNumber; - - /** - * Number of authors per page. - */ - #[Optional] - public ?float $pageSize; - - /** @var value-of|null $sortBy */ - #[Optional(enum: SortBy::class)] - public ?string $sortBy; - - /** - * Sort direction. - * - * @var value-of|null $sortDirection - */ - #[Optional(enum: SortDirection::class)] - public ?string $sortDirection; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param SortBy|value-of|null $sortBy - * @param SortDirection|value-of|null $sortDirection - */ - public static function with( - ?string $contentTypes = null, - ?string $lastActiveDate = null, - ?string $memberSinceDate = null, - ?float $pageNumber = null, - ?float $pageSize = null, - SortBy|string|null $sortBy = null, - SortDirection|string|null $sortDirection = null, - ): self { - $self = new self; - - null !== $contentTypes && $self['contentTypes'] = $contentTypes; - null !== $lastActiveDate && $self['lastActiveDate'] = $lastActiveDate; - null !== $memberSinceDate && $self['memberSinceDate'] = $memberSinceDate; - null !== $pageNumber && $self['pageNumber'] = $pageNumber; - null !== $pageSize && $self['pageSize'] = $pageSize; - null !== $sortBy && $self['sortBy'] = $sortBy; - null !== $sortDirection && $self['sortDirection'] = $sortDirection; - - return $self; - } - - public function withContentTypes(string $contentTypes): self - { - $self = clone $this; - $self['contentTypes'] = $contentTypes; - - return $self; - } - - public function withLastActiveDate(string $lastActiveDate): self - { - $self = clone $this; - $self['lastActiveDate'] = $lastActiveDate; - - return $self; - } - - public function withMemberSinceDate(string $memberSinceDate): self - { - $self = clone $this; - $self['memberSinceDate'] = $memberSinceDate; - - return $self; - } - - /** - * Page number to fetch. - */ - public function withPageNumber(float $pageNumber): self - { - $self = clone $this; - $self['pageNumber'] = $pageNumber; - - return $self; - } - - /** - * Number of authors per page. - */ - public function withPageSize(float $pageSize): self - { - $self = clone $this; - $self['pageSize'] = $pageSize; - - return $self; - } - - /** - * @param SortBy|value-of $sortBy - */ - public function withSortBy(SortBy|string $sortBy): self - { - $self = clone $this; - $self['sortBy'] = $sortBy; - - return $self; - } - - /** - * Sort direction. - * - * @param SortDirection|value-of $sortDirection - */ - public function withSortDirection(SortDirection|string $sortDirection): self - { - $self = clone $this; - $self['sortDirection'] = $sortDirection; - - return $self; - } -} diff --git a/src/Authors/AuthorListParams/SortBy.php b/src/Authors/AuthorListParams/SortBy.php deleted file mode 100644 index 4669c81..0000000 --- a/src/Authors/AuthorListParams/SortBy.php +++ /dev/null @@ -1,24 +0,0 @@ -, pagination: Pagination|PaginationShape - * } - */ -final class AuthorListResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var list $authors */ - #[Required(list: Author::class)] - public array $authors; - - #[Required] - public Pagination $pagination; - - /** - * `new AuthorListResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AuthorListResponse::with(authors: ..., pagination: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AuthorListResponse)->withAuthors(...)->withPagination(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list $authors - * @param Pagination|PaginationShape $pagination - */ - public static function with( - array $authors, - Pagination|array $pagination - ): self { - $self = new self; - - $self['authors'] = $authors; - $self['pagination'] = $pagination; - - return $self; - } - - /** - * @param list $authors - */ - public function withAuthors(array $authors): self - { - $self = clone $this; - $self['authors'] = $authors; - - return $self; - } - - /** - * @param Pagination|PaginationShape $pagination - */ - public function withPagination(Pagination|array $pagination): self - { - $self = clone $this; - $self['pagination'] = $pagination; - - return $self; - } -} diff --git a/src/Authors/AuthorListResponse/Author.php b/src/Authors/AuthorListResponse/Author.php deleted file mode 100644 index 3df9f3d..0000000 --- a/src/Authors/AuthorListResponse/Author.php +++ /dev/null @@ -1,416 +0,0 @@ -, - * trustLevel: TrustLevel|TrustLevelShape, - * company?: string|null, - * email?: string|null, - * externalID?: string|null, - * externalLink?: string|null, - * lastIncident?: float|null, - * name?: string|null, - * profilePicture?: string|null, - * } - */ -final class Author implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * Author ID in Moderation API. - */ - #[Required] - public string $id; - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - */ - #[Required] - public ?Block $block; - - /** - * Timestamp when author first appeared. - */ - #[Required('first_seen')] - public float $firstSeen; - - /** - * Timestamp of last activity. - */ - #[Required('last_seen')] - public float $lastSeen; - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - */ - #[Required] - public Metadata $metadata; - - #[Required] - public Metrics $metrics; - - /** - * Risk assessment details, if available. - */ - #[Required('risk_evaluation')] - public ?RiskEvaluation $riskEvaluation; - - /** - * Current author status. - * - * @var value-of $status - */ - #[Required(enum: Status::class)] - public string $status; - - #[Required('trust_level')] - public TrustLevel $trustLevel; - - /** - * The author's company or organization. - */ - #[Optional(nullable: true)] - public ?string $company; - - /** - * Author email address. - */ - #[Optional(nullable: true)] - public ?string $email; - - /** - * The author's ID from your system. - */ - #[Optional('external_id', nullable: true)] - public ?string $externalID; - - /** - * URL of the author's external profile. - */ - #[Optional('external_link', nullable: true)] - public ?string $externalLink; - - /** - * Timestamp of last incident. - */ - #[Optional('last_incident', nullable: true)] - public ?float $lastIncident; - - /** - * Author name or identifier. - */ - #[Optional(nullable: true)] - public ?string $name; - - /** - * URL of the author's profile picture. - */ - #[Optional('profile_picture', nullable: true)] - public ?string $profilePicture; - - /** - * `new Author()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Author::with( - * id: ..., - * block: ..., - * firstSeen: ..., - * lastSeen: ..., - * metadata: ..., - * metrics: ..., - * riskEvaluation: ..., - * status: ..., - * trustLevel: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Author) - * ->withID(...) - * ->withBlock(...) - * ->withFirstSeen(...) - * ->withLastSeen(...) - * ->withMetadata(...) - * ->withMetrics(...) - * ->withRiskEvaluation(...) - * ->withStatus(...) - * ->withTrustLevel(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Block|BlockShape|null $block - * @param Metadata|MetadataShape $metadata - * @param Metrics|MetricsShape $metrics - * @param RiskEvaluation|RiskEvaluationShape|null $riskEvaluation - * @param Status|value-of $status - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public static function with( - string $id, - Block|array|null $block, - float $firstSeen, - float $lastSeen, - Metadata|array $metadata, - Metrics|array $metrics, - RiskEvaluation|array|null $riskEvaluation, - Status|string $status, - TrustLevel|array $trustLevel, - ?string $company = null, - ?string $email = null, - ?string $externalID = null, - ?string $externalLink = null, - ?float $lastIncident = null, - ?string $name = null, - ?string $profilePicture = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['block'] = $block; - $self['firstSeen'] = $firstSeen; - $self['lastSeen'] = $lastSeen; - $self['metadata'] = $metadata; - $self['metrics'] = $metrics; - $self['riskEvaluation'] = $riskEvaluation; - $self['status'] = $status; - $self['trustLevel'] = $trustLevel; - - null !== $company && $self['company'] = $company; - null !== $email && $self['email'] = $email; - null !== $externalID && $self['externalID'] = $externalID; - null !== $externalLink && $self['externalLink'] = $externalLink; - null !== $lastIncident && $self['lastIncident'] = $lastIncident; - null !== $name && $self['name'] = $name; - null !== $profilePicture && $self['profilePicture'] = $profilePicture; - - return $self; - } - - /** - * Author ID in Moderation API. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - * - * @param Block|BlockShape|null $block - */ - public function withBlock(Block|array|null $block): self - { - $self = clone $this; - $self['block'] = $block; - - return $self; - } - - /** - * Timestamp when author first appeared. - */ - public function withFirstSeen(float $firstSeen): self - { - $self = clone $this; - $self['firstSeen'] = $firstSeen; - - return $self; - } - - /** - * Timestamp of last activity. - */ - public function withLastSeen(float $lastSeen): self - { - $self = clone $this; - $self['lastSeen'] = $lastSeen; - - return $self; - } - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - * - * @param Metadata|MetadataShape $metadata - */ - public function withMetadata(Metadata|array $metadata): self - { - $self = clone $this; - $self['metadata'] = $metadata; - - return $self; - } - - /** - * @param Metrics|MetricsShape $metrics - */ - public function withMetrics(Metrics|array $metrics): self - { - $self = clone $this; - $self['metrics'] = $metrics; - - return $self; - } - - /** - * Risk assessment details, if available. - * - * @param RiskEvaluation|RiskEvaluationShape|null $riskEvaluation - */ - public function withRiskEvaluation( - RiskEvaluation|array|null $riskEvaluation - ): self { - $self = clone $this; - $self['riskEvaluation'] = $riskEvaluation; - - return $self; - } - - /** - * Current author status. - * - * @param Status|value-of $status - */ - public function withStatus(Status|string $status): self - { - $self = clone $this; - $self['status'] = $status; - - return $self; - } - - /** - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public function withTrustLevel(TrustLevel|array $trustLevel): self - { - $self = clone $this; - $self['trustLevel'] = $trustLevel; - - return $self; - } - - /** - * The author's company or organization. - */ - public function withCompany(?string $company): self - { - $self = clone $this; - $self['company'] = $company; - - return $self; - } - - /** - * Author email address. - */ - public function withEmail(?string $email): self - { - $self = clone $this; - $self['email'] = $email; - - return $self; - } - - /** - * The author's ID from your system. - */ - public function withExternalID(?string $externalID): self - { - $self = clone $this; - $self['externalID'] = $externalID; - - return $self; - } - - /** - * URL of the author's external profile. - */ - public function withExternalLink(?string $externalLink): self - { - $self = clone $this; - $self['externalLink'] = $externalLink; - - return $self; - } - - /** - * Timestamp of last incident. - */ - public function withLastIncident(?float $lastIncident): self - { - $self = clone $this; - $self['lastIncident'] = $lastIncident; - - return $self; - } - - /** - * Author name or identifier. - */ - public function withName(?string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * URL of the author's profile picture. - */ - public function withProfilePicture(?string $profilePicture): self - { - $self = clone $this; - $self['profilePicture'] = $profilePicture; - - return $self; - } -} diff --git a/src/Authors/AuthorListResponse/Author/Block.php b/src/Authors/AuthorListResponse/Author/Block.php deleted file mode 100644 index 4ee4e7e..0000000 --- a/src/Authors/AuthorListResponse/Author/Block.php +++ /dev/null @@ -1,76 +0,0 @@ - */ - use SdkModel; - - /** - * The moderators reason why the author was blocked or suspended. - */ - #[Optional(nullable: true)] - public ?string $reason; - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - #[Optional(nullable: true)] - public ?float $until; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?string $reason = null, - ?float $until = null - ): self { - $self = new self; - - null !== $reason && $self['reason'] = $reason; - null !== $until && $self['until'] = $until; - - return $self; - } - - /** - * The moderators reason why the author was blocked or suspended. - */ - public function withReason(?string $reason): self - { - $self = clone $this; - $self['reason'] = $reason; - - return $self; - } - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - public function withUntil(?float $until): self - { - $self = clone $this; - $self['until'] = $until; - - return $self; - } -} diff --git a/src/Authors/AuthorListResponse/Author/Metadata.php b/src/Authors/AuthorListResponse/Author/Metadata.php deleted file mode 100644 index a03f9a4..0000000 --- a/src/Authors/AuthorListResponse/Author/Metadata.php +++ /dev/null @@ -1,119 +0,0 @@ - */ - use SdkModel; - - /** - * Whether the author's email is verified. - */ - #[Optional('email_verified', nullable: true)] - public ?bool $emailVerified; - - /** - * Whether the author's identity is verified. - */ - #[Optional('identity_verified', nullable: true)] - public ?bool $identityVerified; - - /** - * Whether the author is a paying customer. - */ - #[Optional('is_paying_customer', nullable: true)] - public ?bool $isPayingCustomer; - - /** - * Whether the author's phone number is verified. - */ - #[Optional('phone_verified', nullable: true)] - public ?bool $phoneVerified; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?bool $emailVerified = null, - ?bool $identityVerified = null, - ?bool $isPayingCustomer = null, - ?bool $phoneVerified = null, - ): self { - $self = new self; - - null !== $emailVerified && $self['emailVerified'] = $emailVerified; - null !== $identityVerified && $self['identityVerified'] = $identityVerified; - null !== $isPayingCustomer && $self['isPayingCustomer'] = $isPayingCustomer; - null !== $phoneVerified && $self['phoneVerified'] = $phoneVerified; - - return $self; - } - - /** - * Whether the author's email is verified. - */ - public function withEmailVerified(?bool $emailVerified): self - { - $self = clone $this; - $self['emailVerified'] = $emailVerified; - - return $self; - } - - /** - * Whether the author's identity is verified. - */ - public function withIdentityVerified(?bool $identityVerified): self - { - $self = clone $this; - $self['identityVerified'] = $identityVerified; - - return $self; - } - - /** - * Whether the author is a paying customer. - */ - public function withIsPayingCustomer(?bool $isPayingCustomer): self - { - $self = clone $this; - $self['isPayingCustomer'] = $isPayingCustomer; - - return $self; - } - - /** - * Whether the author's phone number is verified. - */ - public function withPhoneVerified(?bool $phoneVerified): self - { - $self = clone $this; - $self['phoneVerified'] = $phoneVerified; - - return $self; - } -} diff --git a/src/Authors/AuthorListResponse/Author/Metrics.php b/src/Authors/AuthorListResponse/Author/Metrics.php deleted file mode 100644 index a02cb5b..0000000 --- a/src/Authors/AuthorListResponse/Author/Metrics.php +++ /dev/null @@ -1,111 +0,0 @@ - */ - use SdkModel; - - /** - * Number of flagged content pieces. - */ - #[Required('flagged_content')] - public float $flaggedContent; - - /** - * Total pieces of content. - */ - #[Required('total_content')] - public float $totalContent; - - /** - * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. - */ - #[Optional('average_sentiment', nullable: true)] - public ?float $averageSentiment; - - /** - * `new Metrics()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Metrics::with(flaggedContent: ..., totalContent: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Metrics)->withFlaggedContent(...)->withTotalContent(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - float $flaggedContent, - float $totalContent, - ?float $averageSentiment = null - ): self { - $self = new self; - - $self['flaggedContent'] = $flaggedContent; - $self['totalContent'] = $totalContent; - - null !== $averageSentiment && $self['averageSentiment'] = $averageSentiment; - - return $self; - } - - /** - * Number of flagged content pieces. - */ - public function withFlaggedContent(float $flaggedContent): self - { - $self = clone $this; - $self['flaggedContent'] = $flaggedContent; - - return $self; - } - - /** - * Total pieces of content. - */ - public function withTotalContent(float $totalContent): self - { - $self = clone $this; - $self['totalContent'] = $totalContent; - - return $self; - } - - /** - * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. - */ - public function withAverageSentiment(?float $averageSentiment): self - { - $self = clone $this; - $self['averageSentiment'] = $averageSentiment; - - return $self; - } -} diff --git a/src/Authors/AuthorListResponse/Author/RiskEvaluation.php b/src/Authors/AuthorListResponse/Author/RiskEvaluation.php deleted file mode 100644 index 0e6e09f..0000000 --- a/src/Authors/AuthorListResponse/Author/RiskEvaluation.php +++ /dev/null @@ -1,56 +0,0 @@ - */ - use SdkModel; - - /** - * Calculated risk level based on more than 10 behavioral signals. - */ - #[Optional('risk_level', nullable: true)] - public ?float $riskLevel; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?float $riskLevel = null): self - { - $self = new self; - - null !== $riskLevel && $self['riskLevel'] = $riskLevel; - - return $self; - } - - /** - * Calculated risk level based on more than 10 behavioral signals. - */ - public function withRiskLevel(?float $riskLevel): self - { - $self = clone $this; - $self['riskLevel'] = $riskLevel; - - return $self; - } -} diff --git a/src/Authors/AuthorListResponse/Author/Status.php b/src/Authors/AuthorListResponse/Author/Status.php deleted file mode 100644 index da60879..0000000 --- a/src/Authors/AuthorListResponse/Author/Status.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - #[Required] - public float $level; - - /** - * True if the trust level was set manually by a moderator. - */ - #[Required] - public bool $manual; - - /** - * `new TrustLevel()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * TrustLevel::with(level: ..., manual: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new TrustLevel)->withLevel(...)->withManual(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(float $level, bool $manual): self - { - $self = new self; - - $self['level'] = $level; - $self['manual'] = $manual; - - return $self; - } - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - public function withLevel(float $level): self - { - $self = clone $this; - $self['level'] = $level; - - return $self; - } - - /** - * True if the trust level was set manually by a moderator. - */ - public function withManual(bool $manual): self - { - $self = clone $this; - $self['manual'] = $manual; - - return $self; - } -} diff --git a/src/Authors/AuthorListResponse/Pagination.php b/src/Authors/AuthorListResponse/Pagination.php deleted file mode 100644 index f91da2e..0000000 --- a/src/Authors/AuthorListResponse/Pagination.php +++ /dev/null @@ -1,132 +0,0 @@ - */ - use SdkModel; - - #[Required] - public bool $hasNextPage; - - #[Required] - public bool $hasPreviousPage; - - #[Required] - public float $pageNumber; - - #[Required] - public float $pageSize; - - #[Required] - public float $total; - - /** - * `new Pagination()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Pagination::with( - * hasNextPage: ..., - * hasPreviousPage: ..., - * pageNumber: ..., - * pageSize: ..., - * total: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Pagination) - * ->withHasNextPage(...) - * ->withHasPreviousPage(...) - * ->withPageNumber(...) - * ->withPageSize(...) - * ->withTotal(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - bool $hasNextPage, - bool $hasPreviousPage, - float $pageNumber, - float $pageSize, - float $total, - ): self { - $self = new self; - - $self['hasNextPage'] = $hasNextPage; - $self['hasPreviousPage'] = $hasPreviousPage; - $self['pageNumber'] = $pageNumber; - $self['pageSize'] = $pageSize; - $self['total'] = $total; - - return $self; - } - - public function withHasNextPage(bool $hasNextPage): self - { - $self = clone $this; - $self['hasNextPage'] = $hasNextPage; - - return $self; - } - - public function withHasPreviousPage(bool $hasPreviousPage): self - { - $self = clone $this; - $self['hasPreviousPage'] = $hasPreviousPage; - - return $self; - } - - public function withPageNumber(float $pageNumber): self - { - $self = clone $this; - $self['pageNumber'] = $pageNumber; - - return $self; - } - - public function withPageSize(float $pageSize): self - { - $self = clone $this; - $self['pageSize'] = $pageSize; - - return $self; - } - - public function withTotal(float $total): self - { - $self = clone $this; - $self['total'] = $total; - - return $self; - } -} diff --git a/src/Authors/AuthorNewResponse.php b/src/Authors/AuthorNewResponse.php deleted file mode 100644 index 358e8be..0000000 --- a/src/Authors/AuthorNewResponse.php +++ /dev/null @@ -1,416 +0,0 @@ -, - * trustLevel: TrustLevel|TrustLevelShape, - * company?: string|null, - * email?: string|null, - * externalID?: string|null, - * externalLink?: string|null, - * lastIncident?: float|null, - * name?: string|null, - * profilePicture?: string|null, - * } - */ -final class AuthorNewResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * Author ID in Moderation API. - */ - #[Required] - public string $id; - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - */ - #[Required] - public ?Block $block; - - /** - * Timestamp when author first appeared. - */ - #[Required('first_seen')] - public float $firstSeen; - - /** - * Timestamp of last activity. - */ - #[Required('last_seen')] - public float $lastSeen; - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - */ - #[Required] - public Metadata $metadata; - - #[Required] - public Metrics $metrics; - - /** - * Risk assessment details, if available. - */ - #[Required('risk_evaluation')] - public ?RiskEvaluation $riskEvaluation; - - /** - * Current author status. - * - * @var value-of $status - */ - #[Required(enum: Status::class)] - public string $status; - - #[Required('trust_level')] - public TrustLevel $trustLevel; - - /** - * The author's company or organization. - */ - #[Optional(nullable: true)] - public ?string $company; - - /** - * Author email address. - */ - #[Optional(nullable: true)] - public ?string $email; - - /** - * The author's ID from your system. - */ - #[Optional('external_id', nullable: true)] - public ?string $externalID; - - /** - * URL of the author's external profile. - */ - #[Optional('external_link', nullable: true)] - public ?string $externalLink; - - /** - * Timestamp of last incident. - */ - #[Optional('last_incident', nullable: true)] - public ?float $lastIncident; - - /** - * Author name or identifier. - */ - #[Optional(nullable: true)] - public ?string $name; - - /** - * URL of the author's profile picture. - */ - #[Optional('profile_picture', nullable: true)] - public ?string $profilePicture; - - /** - * `new AuthorNewResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AuthorNewResponse::with( - * id: ..., - * block: ..., - * firstSeen: ..., - * lastSeen: ..., - * metadata: ..., - * metrics: ..., - * riskEvaluation: ..., - * status: ..., - * trustLevel: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AuthorNewResponse) - * ->withID(...) - * ->withBlock(...) - * ->withFirstSeen(...) - * ->withLastSeen(...) - * ->withMetadata(...) - * ->withMetrics(...) - * ->withRiskEvaluation(...) - * ->withStatus(...) - * ->withTrustLevel(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Block|BlockShape|null $block - * @param Metadata|MetadataShape $metadata - * @param Metrics|MetricsShape $metrics - * @param RiskEvaluation|RiskEvaluationShape|null $riskEvaluation - * @param Status|value-of $status - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public static function with( - string $id, - Block|array|null $block, - float $firstSeen, - float $lastSeen, - Metadata|array $metadata, - Metrics|array $metrics, - RiskEvaluation|array|null $riskEvaluation, - Status|string $status, - TrustLevel|array $trustLevel, - ?string $company = null, - ?string $email = null, - ?string $externalID = null, - ?string $externalLink = null, - ?float $lastIncident = null, - ?string $name = null, - ?string $profilePicture = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['block'] = $block; - $self['firstSeen'] = $firstSeen; - $self['lastSeen'] = $lastSeen; - $self['metadata'] = $metadata; - $self['metrics'] = $metrics; - $self['riskEvaluation'] = $riskEvaluation; - $self['status'] = $status; - $self['trustLevel'] = $trustLevel; - - null !== $company && $self['company'] = $company; - null !== $email && $self['email'] = $email; - null !== $externalID && $self['externalID'] = $externalID; - null !== $externalLink && $self['externalLink'] = $externalLink; - null !== $lastIncident && $self['lastIncident'] = $lastIncident; - null !== $name && $self['name'] = $name; - null !== $profilePicture && $self['profilePicture'] = $profilePicture; - - return $self; - } - - /** - * Author ID in Moderation API. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - * - * @param Block|BlockShape|null $block - */ - public function withBlock(Block|array|null $block): self - { - $self = clone $this; - $self['block'] = $block; - - return $self; - } - - /** - * Timestamp when author first appeared. - */ - public function withFirstSeen(float $firstSeen): self - { - $self = clone $this; - $self['firstSeen'] = $firstSeen; - - return $self; - } - - /** - * Timestamp of last activity. - */ - public function withLastSeen(float $lastSeen): self - { - $self = clone $this; - $self['lastSeen'] = $lastSeen; - - return $self; - } - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - * - * @param Metadata|MetadataShape $metadata - */ - public function withMetadata(Metadata|array $metadata): self - { - $self = clone $this; - $self['metadata'] = $metadata; - - return $self; - } - - /** - * @param Metrics|MetricsShape $metrics - */ - public function withMetrics(Metrics|array $metrics): self - { - $self = clone $this; - $self['metrics'] = $metrics; - - return $self; - } - - /** - * Risk assessment details, if available. - * - * @param RiskEvaluation|RiskEvaluationShape|null $riskEvaluation - */ - public function withRiskEvaluation( - RiskEvaluation|array|null $riskEvaluation - ): self { - $self = clone $this; - $self['riskEvaluation'] = $riskEvaluation; - - return $self; - } - - /** - * Current author status. - * - * @param Status|value-of $status - */ - public function withStatus(Status|string $status): self - { - $self = clone $this; - $self['status'] = $status; - - return $self; - } - - /** - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public function withTrustLevel(TrustLevel|array $trustLevel): self - { - $self = clone $this; - $self['trustLevel'] = $trustLevel; - - return $self; - } - - /** - * The author's company or organization. - */ - public function withCompany(?string $company): self - { - $self = clone $this; - $self['company'] = $company; - - return $self; - } - - /** - * Author email address. - */ - public function withEmail(?string $email): self - { - $self = clone $this; - $self['email'] = $email; - - return $self; - } - - /** - * The author's ID from your system. - */ - public function withExternalID(?string $externalID): self - { - $self = clone $this; - $self['externalID'] = $externalID; - - return $self; - } - - /** - * URL of the author's external profile. - */ - public function withExternalLink(?string $externalLink): self - { - $self = clone $this; - $self['externalLink'] = $externalLink; - - return $self; - } - - /** - * Timestamp of last incident. - */ - public function withLastIncident(?float $lastIncident): self - { - $self = clone $this; - $self['lastIncident'] = $lastIncident; - - return $self; - } - - /** - * Author name or identifier. - */ - public function withName(?string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * URL of the author's profile picture. - */ - public function withProfilePicture(?string $profilePicture): self - { - $self = clone $this; - $self['profilePicture'] = $profilePicture; - - return $self; - } -} diff --git a/src/Authors/AuthorNewResponse/Block.php b/src/Authors/AuthorNewResponse/Block.php deleted file mode 100644 index 7df8130..0000000 --- a/src/Authors/AuthorNewResponse/Block.php +++ /dev/null @@ -1,76 +0,0 @@ - */ - use SdkModel; - - /** - * The moderators reason why the author was blocked or suspended. - */ - #[Optional(nullable: true)] - public ?string $reason; - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - #[Optional(nullable: true)] - public ?float $until; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?string $reason = null, - ?float $until = null - ): self { - $self = new self; - - null !== $reason && $self['reason'] = $reason; - null !== $until && $self['until'] = $until; - - return $self; - } - - /** - * The moderators reason why the author was blocked or suspended. - */ - public function withReason(?string $reason): self - { - $self = clone $this; - $self['reason'] = $reason; - - return $self; - } - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - public function withUntil(?float $until): self - { - $self = clone $this; - $self['until'] = $until; - - return $self; - } -} diff --git a/src/Authors/AuthorNewResponse/Metadata.php b/src/Authors/AuthorNewResponse/Metadata.php deleted file mode 100644 index 5759804..0000000 --- a/src/Authors/AuthorNewResponse/Metadata.php +++ /dev/null @@ -1,119 +0,0 @@ - */ - use SdkModel; - - /** - * Whether the author's email is verified. - */ - #[Optional('email_verified', nullable: true)] - public ?bool $emailVerified; - - /** - * Whether the author's identity is verified. - */ - #[Optional('identity_verified', nullable: true)] - public ?bool $identityVerified; - - /** - * Whether the author is a paying customer. - */ - #[Optional('is_paying_customer', nullable: true)] - public ?bool $isPayingCustomer; - - /** - * Whether the author's phone number is verified. - */ - #[Optional('phone_verified', nullable: true)] - public ?bool $phoneVerified; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?bool $emailVerified = null, - ?bool $identityVerified = null, - ?bool $isPayingCustomer = null, - ?bool $phoneVerified = null, - ): self { - $self = new self; - - null !== $emailVerified && $self['emailVerified'] = $emailVerified; - null !== $identityVerified && $self['identityVerified'] = $identityVerified; - null !== $isPayingCustomer && $self['isPayingCustomer'] = $isPayingCustomer; - null !== $phoneVerified && $self['phoneVerified'] = $phoneVerified; - - return $self; - } - - /** - * Whether the author's email is verified. - */ - public function withEmailVerified(?bool $emailVerified): self - { - $self = clone $this; - $self['emailVerified'] = $emailVerified; - - return $self; - } - - /** - * Whether the author's identity is verified. - */ - public function withIdentityVerified(?bool $identityVerified): self - { - $self = clone $this; - $self['identityVerified'] = $identityVerified; - - return $self; - } - - /** - * Whether the author is a paying customer. - */ - public function withIsPayingCustomer(?bool $isPayingCustomer): self - { - $self = clone $this; - $self['isPayingCustomer'] = $isPayingCustomer; - - return $self; - } - - /** - * Whether the author's phone number is verified. - */ - public function withPhoneVerified(?bool $phoneVerified): self - { - $self = clone $this; - $self['phoneVerified'] = $phoneVerified; - - return $self; - } -} diff --git a/src/Authors/AuthorNewResponse/Metrics.php b/src/Authors/AuthorNewResponse/Metrics.php deleted file mode 100644 index d4500d2..0000000 --- a/src/Authors/AuthorNewResponse/Metrics.php +++ /dev/null @@ -1,111 +0,0 @@ - */ - use SdkModel; - - /** - * Number of flagged content pieces. - */ - #[Required('flagged_content')] - public float $flaggedContent; - - /** - * Total pieces of content. - */ - #[Required('total_content')] - public float $totalContent; - - /** - * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. - */ - #[Optional('average_sentiment', nullable: true)] - public ?float $averageSentiment; - - /** - * `new Metrics()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Metrics::with(flaggedContent: ..., totalContent: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Metrics)->withFlaggedContent(...)->withTotalContent(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - float $flaggedContent, - float $totalContent, - ?float $averageSentiment = null - ): self { - $self = new self; - - $self['flaggedContent'] = $flaggedContent; - $self['totalContent'] = $totalContent; - - null !== $averageSentiment && $self['averageSentiment'] = $averageSentiment; - - return $self; - } - - /** - * Number of flagged content pieces. - */ - public function withFlaggedContent(float $flaggedContent): self - { - $self = clone $this; - $self['flaggedContent'] = $flaggedContent; - - return $self; - } - - /** - * Total pieces of content. - */ - public function withTotalContent(float $totalContent): self - { - $self = clone $this; - $self['totalContent'] = $totalContent; - - return $self; - } - - /** - * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. - */ - public function withAverageSentiment(?float $averageSentiment): self - { - $self = clone $this; - $self['averageSentiment'] = $averageSentiment; - - return $self; - } -} diff --git a/src/Authors/AuthorNewResponse/RiskEvaluation.php b/src/Authors/AuthorNewResponse/RiskEvaluation.php deleted file mode 100644 index 9f1c77c..0000000 --- a/src/Authors/AuthorNewResponse/RiskEvaluation.php +++ /dev/null @@ -1,56 +0,0 @@ - */ - use SdkModel; - - /** - * Calculated risk level based on more than 10 behavioral signals. - */ - #[Optional('risk_level', nullable: true)] - public ?float $riskLevel; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?float $riskLevel = null): self - { - $self = new self; - - null !== $riskLevel && $self['riskLevel'] = $riskLevel; - - return $self; - } - - /** - * Calculated risk level based on more than 10 behavioral signals. - */ - public function withRiskLevel(?float $riskLevel): self - { - $self = clone $this; - $self['riskLevel'] = $riskLevel; - - return $self; - } -} diff --git a/src/Authors/AuthorNewResponse/Status.php b/src/Authors/AuthorNewResponse/Status.php deleted file mode 100644 index 315e066..0000000 --- a/src/Authors/AuthorNewResponse/Status.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - #[Required] - public float $level; - - /** - * True if the trust level was set manually by a moderator. - */ - #[Required] - public bool $manual; - - /** - * `new TrustLevel()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * TrustLevel::with(level: ..., manual: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new TrustLevel)->withLevel(...)->withManual(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(float $level, bool $manual): self - { - $self = new self; - - $self['level'] = $level; - $self['manual'] = $manual; - - return $self; - } - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - public function withLevel(float $level): self - { - $self = clone $this; - $self['level'] = $level; - - return $self; - } - - /** - * True if the trust level was set manually by a moderator. - */ - public function withManual(bool $manual): self - { - $self = clone $this; - $self['manual'] = $manual; - - return $self; - } -} diff --git a/src/Authors/AuthorUpdateParams.php b/src/Authors/AuthorUpdateParams.php deleted file mode 100644 index 95566bb..0000000 --- a/src/Authors/AuthorUpdateParams.php +++ /dev/null @@ -1,224 +0,0 @@ - */ - use SdkModel; - use SdkParams; - - /** - * The author's company or organization. - */ - #[Optional(nullable: true)] - public ?string $company; - - /** - * Author email address. - */ - #[Optional(nullable: true)] - public ?string $email; - - /** - * URL of the author's external profile. - */ - #[Optional('external_link', nullable: true)] - public ?string $externalLink; - - /** - * Timestamp when author first appeared. - */ - #[Optional('first_seen')] - public ?float $firstSeen; - - /** - * Timestamp of last activity. - */ - #[Optional('last_seen')] - public ?float $lastSeen; - - #[Optional('manual_trust_level', nullable: true)] - public ?float $manualTrustLevel; - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - */ - #[Optional] - public ?Metadata $metadata; - - /** - * Author name or identifier. - */ - #[Optional(nullable: true)] - public ?string $name; - - /** - * URL of the author's profile picture. - */ - #[Optional('profile_picture', nullable: true)] - public ?string $profilePicture; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Metadata|MetadataShape|null $metadata - */ - public static function with( - ?string $company = null, - ?string $email = null, - ?string $externalLink = null, - ?float $firstSeen = null, - ?float $lastSeen = null, - ?float $manualTrustLevel = null, - Metadata|array|null $metadata = null, - ?string $name = null, - ?string $profilePicture = null, - ): self { - $self = new self; - - null !== $company && $self['company'] = $company; - null !== $email && $self['email'] = $email; - null !== $externalLink && $self['externalLink'] = $externalLink; - null !== $firstSeen && $self['firstSeen'] = $firstSeen; - null !== $lastSeen && $self['lastSeen'] = $lastSeen; - null !== $manualTrustLevel && $self['manualTrustLevel'] = $manualTrustLevel; - null !== $metadata && $self['metadata'] = $metadata; - null !== $name && $self['name'] = $name; - null !== $profilePicture && $self['profilePicture'] = $profilePicture; - - return $self; - } - - /** - * The author's company or organization. - */ - public function withCompany(?string $company): self - { - $self = clone $this; - $self['company'] = $company; - - return $self; - } - - /** - * Author email address. - */ - public function withEmail(?string $email): self - { - $self = clone $this; - $self['email'] = $email; - - return $self; - } - - /** - * URL of the author's external profile. - */ - public function withExternalLink(?string $externalLink): self - { - $self = clone $this; - $self['externalLink'] = $externalLink; - - return $self; - } - - /** - * Timestamp when author first appeared. - */ - public function withFirstSeen(float $firstSeen): self - { - $self = clone $this; - $self['firstSeen'] = $firstSeen; - - return $self; - } - - /** - * Timestamp of last activity. - */ - public function withLastSeen(float $lastSeen): self - { - $self = clone $this; - $self['lastSeen'] = $lastSeen; - - return $self; - } - - public function withManualTrustLevel(?float $manualTrustLevel): self - { - $self = clone $this; - $self['manualTrustLevel'] = $manualTrustLevel; - - return $self; - } - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - * - * @param Metadata|MetadataShape $metadata - */ - public function withMetadata(Metadata|array $metadata): self - { - $self = clone $this; - $self['metadata'] = $metadata; - - return $self; - } - - /** - * Author name or identifier. - */ - public function withName(?string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * URL of the author's profile picture. - */ - public function withProfilePicture(?string $profilePicture): self - { - $self = clone $this; - $self['profilePicture'] = $profilePicture; - - return $self; - } -} diff --git a/src/Authors/AuthorUpdateParams/Metadata.php b/src/Authors/AuthorUpdateParams/Metadata.php deleted file mode 100644 index 639b65b..0000000 --- a/src/Authors/AuthorUpdateParams/Metadata.php +++ /dev/null @@ -1,119 +0,0 @@ - */ - use SdkModel; - - /** - * Whether the author's email is verified. - */ - #[Optional('email_verified', nullable: true)] - public ?bool $emailVerified; - - /** - * Whether the author's identity is verified. - */ - #[Optional('identity_verified', nullable: true)] - public ?bool $identityVerified; - - /** - * Whether the author is a paying customer. - */ - #[Optional('is_paying_customer', nullable: true)] - public ?bool $isPayingCustomer; - - /** - * Whether the author's phone number is verified. - */ - #[Optional('phone_verified', nullable: true)] - public ?bool $phoneVerified; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?bool $emailVerified = null, - ?bool $identityVerified = null, - ?bool $isPayingCustomer = null, - ?bool $phoneVerified = null, - ): self { - $self = new self; - - null !== $emailVerified && $self['emailVerified'] = $emailVerified; - null !== $identityVerified && $self['identityVerified'] = $identityVerified; - null !== $isPayingCustomer && $self['isPayingCustomer'] = $isPayingCustomer; - null !== $phoneVerified && $self['phoneVerified'] = $phoneVerified; - - return $self; - } - - /** - * Whether the author's email is verified. - */ - public function withEmailVerified(?bool $emailVerified): self - { - $self = clone $this; - $self['emailVerified'] = $emailVerified; - - return $self; - } - - /** - * Whether the author's identity is verified. - */ - public function withIdentityVerified(?bool $identityVerified): self - { - $self = clone $this; - $self['identityVerified'] = $identityVerified; - - return $self; - } - - /** - * Whether the author is a paying customer. - */ - public function withIsPayingCustomer(?bool $isPayingCustomer): self - { - $self = clone $this; - $self['isPayingCustomer'] = $isPayingCustomer; - - return $self; - } - - /** - * Whether the author's phone number is verified. - */ - public function withPhoneVerified(?bool $phoneVerified): self - { - $self = clone $this; - $self['phoneVerified'] = $phoneVerified; - - return $self; - } -} diff --git a/src/Authors/AuthorUpdateResponse.php b/src/Authors/AuthorUpdateResponse.php deleted file mode 100644 index f94ef81..0000000 --- a/src/Authors/AuthorUpdateResponse.php +++ /dev/null @@ -1,416 +0,0 @@ -, - * trustLevel: TrustLevel|TrustLevelShape, - * company?: string|null, - * email?: string|null, - * externalID?: string|null, - * externalLink?: string|null, - * lastIncident?: float|null, - * name?: string|null, - * profilePicture?: string|null, - * } - */ -final class AuthorUpdateResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * Author ID in Moderation API. - */ - #[Required] - public string $id; - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - */ - #[Required] - public ?Block $block; - - /** - * Timestamp when author first appeared. - */ - #[Required('first_seen')] - public float $firstSeen; - - /** - * Timestamp of last activity. - */ - #[Required('last_seen')] - public float $lastSeen; - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - */ - #[Required] - public Metadata $metadata; - - #[Required] - public Metrics $metrics; - - /** - * Risk assessment details, if available. - */ - #[Required('risk_evaluation')] - public ?RiskEvaluation $riskEvaluation; - - /** - * Current author status. - * - * @var value-of $status - */ - #[Required(enum: Status::class)] - public string $status; - - #[Required('trust_level')] - public TrustLevel $trustLevel; - - /** - * The author's company or organization. - */ - #[Optional(nullable: true)] - public ?string $company; - - /** - * Author email address. - */ - #[Optional(nullable: true)] - public ?string $email; - - /** - * The author's ID from your system. - */ - #[Optional('external_id', nullable: true)] - public ?string $externalID; - - /** - * URL of the author's external profile. - */ - #[Optional('external_link', nullable: true)] - public ?string $externalLink; - - /** - * Timestamp of last incident. - */ - #[Optional('last_incident', nullable: true)] - public ?float $lastIncident; - - /** - * Author name or identifier. - */ - #[Optional(nullable: true)] - public ?string $name; - - /** - * URL of the author's profile picture. - */ - #[Optional('profile_picture', nullable: true)] - public ?string $profilePicture; - - /** - * `new AuthorUpdateResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * AuthorUpdateResponse::with( - * id: ..., - * block: ..., - * firstSeen: ..., - * lastSeen: ..., - * metadata: ..., - * metrics: ..., - * riskEvaluation: ..., - * status: ..., - * trustLevel: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new AuthorUpdateResponse) - * ->withID(...) - * ->withBlock(...) - * ->withFirstSeen(...) - * ->withLastSeen(...) - * ->withMetadata(...) - * ->withMetrics(...) - * ->withRiskEvaluation(...) - * ->withStatus(...) - * ->withTrustLevel(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Block|BlockShape|null $block - * @param Metadata|MetadataShape $metadata - * @param Metrics|MetricsShape $metrics - * @param RiskEvaluation|RiskEvaluationShape|null $riskEvaluation - * @param Status|value-of $status - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public static function with( - string $id, - Block|array|null $block, - float $firstSeen, - float $lastSeen, - Metadata|array $metadata, - Metrics|array $metrics, - RiskEvaluation|array|null $riskEvaluation, - Status|string $status, - TrustLevel|array $trustLevel, - ?string $company = null, - ?string $email = null, - ?string $externalID = null, - ?string $externalLink = null, - ?float $lastIncident = null, - ?string $name = null, - ?string $profilePicture = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['block'] = $block; - $self['firstSeen'] = $firstSeen; - $self['lastSeen'] = $lastSeen; - $self['metadata'] = $metadata; - $self['metrics'] = $metrics; - $self['riskEvaluation'] = $riskEvaluation; - $self['status'] = $status; - $self['trustLevel'] = $trustLevel; - - null !== $company && $self['company'] = $company; - null !== $email && $self['email'] = $email; - null !== $externalID && $self['externalID'] = $externalID; - null !== $externalLink && $self['externalLink'] = $externalLink; - null !== $lastIncident && $self['lastIncident'] = $lastIncident; - null !== $name && $self['name'] = $name; - null !== $profilePicture && $self['profilePicture'] = $profilePicture; - - return $self; - } - - /** - * Author ID in Moderation API. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - * - * @param Block|BlockShape|null $block - */ - public function withBlock(Block|array|null $block): self - { - $self = clone $this; - $self['block'] = $block; - - return $self; - } - - /** - * Timestamp when author first appeared. - */ - public function withFirstSeen(float $firstSeen): self - { - $self = clone $this; - $self['firstSeen'] = $firstSeen; - - return $self; - } - - /** - * Timestamp of last activity. - */ - public function withLastSeen(float $lastSeen): self - { - $self = clone $this; - $self['lastSeen'] = $lastSeen; - - return $self; - } - - /** - * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. - * - * @param Metadata|MetadataShape $metadata - */ - public function withMetadata(Metadata|array $metadata): self - { - $self = clone $this; - $self['metadata'] = $metadata; - - return $self; - } - - /** - * @param Metrics|MetricsShape $metrics - */ - public function withMetrics(Metrics|array $metrics): self - { - $self = clone $this; - $self['metrics'] = $metrics; - - return $self; - } - - /** - * Risk assessment details, if available. - * - * @param RiskEvaluation|RiskEvaluationShape|null $riskEvaluation - */ - public function withRiskEvaluation( - RiskEvaluation|array|null $riskEvaluation - ): self { - $self = clone $this; - $self['riskEvaluation'] = $riskEvaluation; - - return $self; - } - - /** - * Current author status. - * - * @param Status|value-of $status - */ - public function withStatus(Status|string $status): self - { - $self = clone $this; - $self['status'] = $status; - - return $self; - } - - /** - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public function withTrustLevel(TrustLevel|array $trustLevel): self - { - $self = clone $this; - $self['trustLevel'] = $trustLevel; - - return $self; - } - - /** - * The author's company or organization. - */ - public function withCompany(?string $company): self - { - $self = clone $this; - $self['company'] = $company; - - return $self; - } - - /** - * Author email address. - */ - public function withEmail(?string $email): self - { - $self = clone $this; - $self['email'] = $email; - - return $self; - } - - /** - * The author's ID from your system. - */ - public function withExternalID(?string $externalID): self - { - $self = clone $this; - $self['externalID'] = $externalID; - - return $self; - } - - /** - * URL of the author's external profile. - */ - public function withExternalLink(?string $externalLink): self - { - $self = clone $this; - $self['externalLink'] = $externalLink; - - return $self; - } - - /** - * Timestamp of last incident. - */ - public function withLastIncident(?float $lastIncident): self - { - $self = clone $this; - $self['lastIncident'] = $lastIncident; - - return $self; - } - - /** - * Author name or identifier. - */ - public function withName(?string $name): self - { - $self = clone $this; - $self['name'] = $name; - - return $self; - } - - /** - * URL of the author's profile picture. - */ - public function withProfilePicture(?string $profilePicture): self - { - $self = clone $this; - $self['profilePicture'] = $profilePicture; - - return $self; - } -} diff --git a/src/Authors/AuthorUpdateResponse/Block.php b/src/Authors/AuthorUpdateResponse/Block.php deleted file mode 100644 index 6b0dcbc..0000000 --- a/src/Authors/AuthorUpdateResponse/Block.php +++ /dev/null @@ -1,76 +0,0 @@ - */ - use SdkModel; - - /** - * The moderators reason why the author was blocked or suspended. - */ - #[Optional(nullable: true)] - public ?string $reason; - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - #[Optional(nullable: true)] - public ?float $until; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?string $reason = null, - ?float $until = null - ): self { - $self = new self; - - null !== $reason && $self['reason'] = $reason; - null !== $until && $self['until'] = $until; - - return $self; - } - - /** - * The moderators reason why the author was blocked or suspended. - */ - public function withReason(?string $reason): self - { - $self = clone $this; - $self['reason'] = $reason; - - return $self; - } - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - public function withUntil(?float $until): self - { - $self = clone $this; - $self['until'] = $until; - - return $self; - } -} diff --git a/src/Authors/AuthorUpdateResponse/Metadata.php b/src/Authors/AuthorUpdateResponse/Metadata.php deleted file mode 100644 index 97d5822..0000000 --- a/src/Authors/AuthorUpdateResponse/Metadata.php +++ /dev/null @@ -1,119 +0,0 @@ - */ - use SdkModel; - - /** - * Whether the author's email is verified. - */ - #[Optional('email_verified', nullable: true)] - public ?bool $emailVerified; - - /** - * Whether the author's identity is verified. - */ - #[Optional('identity_verified', nullable: true)] - public ?bool $identityVerified; - - /** - * Whether the author is a paying customer. - */ - #[Optional('is_paying_customer', nullable: true)] - public ?bool $isPayingCustomer; - - /** - * Whether the author's phone number is verified. - */ - #[Optional('phone_verified', nullable: true)] - public ?bool $phoneVerified; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?bool $emailVerified = null, - ?bool $identityVerified = null, - ?bool $isPayingCustomer = null, - ?bool $phoneVerified = null, - ): self { - $self = new self; - - null !== $emailVerified && $self['emailVerified'] = $emailVerified; - null !== $identityVerified && $self['identityVerified'] = $identityVerified; - null !== $isPayingCustomer && $self['isPayingCustomer'] = $isPayingCustomer; - null !== $phoneVerified && $self['phoneVerified'] = $phoneVerified; - - return $self; - } - - /** - * Whether the author's email is verified. - */ - public function withEmailVerified(?bool $emailVerified): self - { - $self = clone $this; - $self['emailVerified'] = $emailVerified; - - return $self; - } - - /** - * Whether the author's identity is verified. - */ - public function withIdentityVerified(?bool $identityVerified): self - { - $self = clone $this; - $self['identityVerified'] = $identityVerified; - - return $self; - } - - /** - * Whether the author is a paying customer. - */ - public function withIsPayingCustomer(?bool $isPayingCustomer): self - { - $self = clone $this; - $self['isPayingCustomer'] = $isPayingCustomer; - - return $self; - } - - /** - * Whether the author's phone number is verified. - */ - public function withPhoneVerified(?bool $phoneVerified): self - { - $self = clone $this; - $self['phoneVerified'] = $phoneVerified; - - return $self; - } -} diff --git a/src/Authors/AuthorUpdateResponse/Metrics.php b/src/Authors/AuthorUpdateResponse/Metrics.php deleted file mode 100644 index c102071..0000000 --- a/src/Authors/AuthorUpdateResponse/Metrics.php +++ /dev/null @@ -1,111 +0,0 @@ - */ - use SdkModel; - - /** - * Number of flagged content pieces. - */ - #[Required('flagged_content')] - public float $flaggedContent; - - /** - * Total pieces of content. - */ - #[Required('total_content')] - public float $totalContent; - - /** - * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. - */ - #[Optional('average_sentiment', nullable: true)] - public ?float $averageSentiment; - - /** - * `new Metrics()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Metrics::with(flaggedContent: ..., totalContent: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Metrics)->withFlaggedContent(...)->withTotalContent(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - float $flaggedContent, - float $totalContent, - ?float $averageSentiment = null - ): self { - $self = new self; - - $self['flaggedContent'] = $flaggedContent; - $self['totalContent'] = $totalContent; - - null !== $averageSentiment && $self['averageSentiment'] = $averageSentiment; - - return $self; - } - - /** - * Number of flagged content pieces. - */ - public function withFlaggedContent(float $flaggedContent): self - { - $self = clone $this; - $self['flaggedContent'] = $flaggedContent; - - return $self; - } - - /** - * Total pieces of content. - */ - public function withTotalContent(float $totalContent): self - { - $self = clone $this; - $self['totalContent'] = $totalContent; - - return $self; - } - - /** - * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. - */ - public function withAverageSentiment(?float $averageSentiment): self - { - $self = clone $this; - $self['averageSentiment'] = $averageSentiment; - - return $self; - } -} diff --git a/src/Authors/AuthorUpdateResponse/RiskEvaluation.php b/src/Authors/AuthorUpdateResponse/RiskEvaluation.php deleted file mode 100644 index 8396723..0000000 --- a/src/Authors/AuthorUpdateResponse/RiskEvaluation.php +++ /dev/null @@ -1,56 +0,0 @@ - */ - use SdkModel; - - /** - * Calculated risk level based on more than 10 behavioral signals. - */ - #[Optional('risk_level', nullable: true)] - public ?float $riskLevel; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?float $riskLevel = null): self - { - $self = new self; - - null !== $riskLevel && $self['riskLevel'] = $riskLevel; - - return $self; - } - - /** - * Calculated risk level based on more than 10 behavioral signals. - */ - public function withRiskLevel(?float $riskLevel): self - { - $self = clone $this; - $self['riskLevel'] = $riskLevel; - - return $self; - } -} diff --git a/src/Authors/AuthorUpdateResponse/Status.php b/src/Authors/AuthorUpdateResponse/Status.php deleted file mode 100644 index c6b6753..0000000 --- a/src/Authors/AuthorUpdateResponse/Status.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - #[Required] - public float $level; - - /** - * True if the trust level was set manually by a moderator. - */ - #[Required] - public bool $manual; - - /** - * `new TrustLevel()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * TrustLevel::with(level: ..., manual: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new TrustLevel)->withLevel(...)->withManual(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(float $level, bool $manual): self - { - $self = new self; - - $self['level'] = $level; - $self['manual'] = $manual; - - return $self; - } - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - public function withLevel(float $level): self - { - $self = clone $this; - $self['level'] = $level; - - return $self; - } - - /** - * True if the trust level was set manually by a moderator. - */ - public function withManual(bool $manual): self - { - $self = clone $this; - $self['manual'] = $manual; - - return $self; - } -} diff --git a/src/Channels.php b/src/Channels.php new file mode 100644 index 0000000..a11a903 --- /dev/null +++ b/src/Channels.php @@ -0,0 +1,854 @@ +sdkConfiguration = $sdkConfig; + } + /** + * @param string $baseUrl + * @param array $urlVariables + * + * @return string + */ + public function getUrl(string $baseUrl, array $urlVariables): string + { + $serverDetails = $this->sdkConfiguration->getServerDetails(); + + if ($baseUrl == null) { + $baseUrl = $serverDetails->baseUrl; + } + + if ($urlVariables == null) { + $urlVariables = $serverDetails->options; + } + + return Utils\Utils::templateUrl($baseUrl, $urlVariables); + } + + /** + * Create a channel + * + * Create a channel in a project, with the default rules. The project's first channel becomes its default. Needs the `channels:write` permission. + * + * @param \ModerationApi\Models\Operations\CreateChannelRequestBody $body + * @param string $projectId + * @return \ModerationApi\Models\Operations\CreateChannelResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function create(Operations\CreateChannelRequestBody $body, string $projectId, ?Options $options = null): Operations\CreateChannelResponse + { + $request = new Operations\CreateChannelRequest( + projectId: $projectId, + body: $body, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/projects/{projectId}/channels', Operations\CreateChannelRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'body', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'createChannel', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Components\Channel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CreateChannelResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + channel: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Delete a channel + * + * Delete a channel. Its key is freed for a new channel. When it was the default, the oldest remaining channel becomes the default. A channel that still moderates a Slack workspace must be disconnected first. Needs the `channels:write` permission. + * + * @param string $id + * @return \ModerationApi\Models\Operations\DeleteChannelResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function delete(string $id, ?Options $options = null): Operations\DeleteChannelResponse + { + $request = new Operations\DeleteChannelRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/channels/{id}', Operations\DeleteChannelRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'deleteChannel', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\DeleteChannelResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\DeleteChannelResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Duplicate a channel + * + * Copy a channel in its project, with every setting, policy, rule and wordlist. Integrations (Discord, Slack, WordPress) are not copied. Needs the `channels:write` permission. + * + * @param \ModerationApi\Models\Operations\DuplicateChannelRequestBody $body + * @param string $id + * @return \ModerationApi\Models\Operations\DuplicateChannelResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function duplicate(Operations\DuplicateChannelRequestBody $body, string $id, ?Options $options = null): Operations\DuplicateChannelResponse + { + $request = new Operations\DuplicateChannelRequest( + id: $id, + body: $body, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/channels/{id}/duplicate', Operations\DuplicateChannelRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'body', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'duplicateChannel', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Components\Channel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\DuplicateChannelResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + channel: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Get a channel + * + * Get a channel by ID. Needs the `channels:read` permission. + * + * @param string $id + * @return \ModerationApi\Models\Operations\GetChannelResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function retrieve(string $id, ?Options $options = null): Operations\GetChannelResponse + { + $request = new Operations\GetChannelRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/channels/{id}', Operations\GetChannelRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'getChannel', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Components\Channel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\GetChannelResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + channel: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * List channels + * + * List the channels in a project. The list is paginated. Needs the `channels:read` permission. + * + * @param string $projectId + * @param ?int $page + * @param ?int $pageSize + * @return \ModerationApi\Models\Operations\ListChannelsResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + private function listIndividual(string $projectId, ?int $page = null, ?int $pageSize = null, ?Options $options = null): Operations\ListChannelsResponse + { + $request = new Operations\ListChannelsRequest( + projectId: $projectId, + page: $page, + pageSize: $pageSize, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/projects/{projectId}/channels', Operations\ListChannelsRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\ListChannelsRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'listChannels', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\ListChannelsResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\ListChannelsResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + $sdk = $this; + + $response->next = function () use ($sdk, $request, $responseData): ?Operations\ListChannelsResponse { + $page = $request != null && $request->page != null ? $request->page : 1; + $nextPage = $page + 1; + $jsonObject = new \JsonPath\JsonObject($responseData); + $numPages = $jsonObject->get('$.pagination.totalPages'); + if ($numPages == null || $numPages[0] <= $page) { + return null; + } + if (! $responseData) { + return null; + } + $jsonObject = new \JsonPath\JsonObject($responseData); + $results = $jsonObject->get('$.data'); + + if (is_array($results)) { + $results = $results[0]; + } + if (count($results) === 0) { + return null; + } + $limit = $request != null && $request->pageSize != null ? $request->pageSize : 20; + if (count($results) < $limit) { + return null; + } + + return $sdk->listIndividual( + projectId: $request != null ? $request->projectId : '', + page: $nextPage, + pageSize: $request != null ? $request->pageSize : null, + ); + }; + + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** + * List channels + * + * List the channels in a project. The list is paginated. Needs the `channels:read` permission. + * + * @param string $projectId + * @param ?int $page + * @param ?int $pageSize + * @return \Generator<\ModerationApi\Models\Operations\ListChannelsResponse> + * @throws \ModerationApi\Models\Errors\APIException + */ + public function list(string $projectId, ?int $page = null, ?int $pageSize = null, ?Options $options = null): \Generator + { + $res = $this->listIndividual($projectId, $page, $pageSize, $options); + while ($res !== null) { + yield $res; + $res = $res->next($res); + } + } + + /** + * Update a channel + * + * Update a channel. Fields you leave out keep their value. Needs the `channels:write` permission. + * + * @param \ModerationApi\Models\Operations\UpdateChannelRequestBody $body + * @param string $id + * @return \ModerationApi\Models\Operations\UpdateChannelResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function update(Operations\UpdateChannelRequestBody $body, string $id, ?Options $options = null): Operations\UpdateChannelResponse + { + $request = new Operations\UpdateChannelRequest( + id: $id, + body: $body, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/channels/{id}', Operations\UpdateChannelRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'body', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('PUT', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'updateChannel', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Components\Channel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\UpdateChannelResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + channel: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\NotFoundError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + +} \ No newline at end of file diff --git a/src/Client.php b/src/Client.php deleted file mode 100644 index bbe0770..0000000 --- a/src/Client.php +++ /dev/null @@ -1,185 +0,0 @@ -secretKey = (string) ($secretKey ?? Util::getenv( - 'MODAPI_SECRET_KEY' - )); - - $this->baseUrlOverridden = !is_null($baseUrl); - - $baseUrl ??= Util::getenv( - 'MODERATION_API_BASE_URL' - ) ?: 'https://api.moderationapi.com/v1'; - - $options = RequestOptions::parse( - RequestOptions::with( - uriFactory: Psr17FactoryDiscovery::findUriFactory(), - streamFactory: Psr17FactoryDiscovery::findStreamFactory(), - requestFactory: Psr17FactoryDiscovery::findRequestFactory(), - transporter: Psr18ClientDiscovery::find(), - ), - $requestOptions, - ); - - if (is_null($options->streamingTransporter)) { - assert(!is_null($options->transporter)); - $options->streamingTransporter = new StreamingHttpClient($options->transporter); - } - - /** @var array $headers */ - $headers = [ - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - 'User-Agent' => sprintf('moderation-api/PHP %s', VERSION), - 'X-Stainless-Lang' => 'php', - 'X-Stainless-Package-Version' => '0.12.0', - 'X-Stainless-Arch' => Util::machtype(), - 'X-Stainless-OS' => Util::ostype(), - 'X-Stainless-Runtime' => php_sapi_name(), - 'X-Stainless-Runtime-Version' => phpversion(), - ]; - - $customHeadersEnv = Util::getenv('MODERATION_API_CUSTOM_HEADERS'); - if (null !== $customHeadersEnv) { - foreach (explode("\n", $customHeadersEnv) as $line) { - $colon = strpos($line, ':'); - if (false !== $colon) { - $headers[trim(substr($line, 0, $colon))] = trim(substr($line, $colon + 1)); - } - } - } - - parent::__construct( - headers: $headers, - baseUrl: $baseUrl, - options: $options - ); - - $this->authors = new AuthorsService($this); - $this->queue = new QueueService($this); - $this->actions = new ActionsService($this); - $this->content = new ContentService($this); - $this->account = new AccountService($this); - $this->auth = new AuthService($this); - $this->wordlist = new WordlistService($this); - $this->webhooks = new WebhooksService($this); - $this->webhookSecret = new WebhookSecretService($this); - } - - /** @return array */ - protected function authHeaders(): array - { - return $this->secretKey ? [ - 'Authorization' => "Bearer {$this->secretKey}", - ] : []; - } - - /** - * @internal - * - * @param string|list $path - * @param array $query - * @param array|null> $headers - * @param RequestOpts|null $opts - * - * @return array{NormalizedRequest, RequestOptions} - */ - protected function buildRequest( - string $method, - string|array $path, - array $query, - array $headers, - mixed $body, - RequestOptions|array|null $opts, - ): array { - return parent::buildRequest( - method: $method, - path: $path, - query: $query, - headers: [...$this->authHeaders(), ...$headers], - body: $body, - opts: $opts, - ); - } -} diff --git a/src/Content.php b/src/Content.php new file mode 100644 index 0000000..09dda20 --- /dev/null +++ b/src/Content.php @@ -0,0 +1,172 @@ +sdkConfiguration = $sdkConfig; + } + /** + * @param string $baseUrl + * @param array $urlVariables + * + * @return string + */ + public function getUrl(string $baseUrl, array $urlVariables): string + { + $serverDetails = $this->sdkConfiguration->getServerDetails(); + + if ($baseUrl == null) { + $baseUrl = $serverDetails->baseUrl; + } + + if ($urlVariables == null) { + $urlVariables = $serverDetails->options; + } + + return Utils\Utils::templateUrl($baseUrl, $urlVariables); + } + + /** + * submit + * + * @param \ModerationApi\Models\Operations\SubmitContentRequest $request + * @return \ModerationApi\Models\Operations\SubmitContentResponse + * @throws \ModerationApi\Models\Errors\APIException + */ + public function submit(Operations\SubmitContentRequest $request, ?Options $options = null): Operations\SubmitContentResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/moderate'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'submitContent', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Operations\SubmitContentResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\SubmitContentResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\BadRequestError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\AuthenticationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\PermissionDeniedError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\RateLimitError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['500'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\ModerationApi\Models\Errors\InternalServerError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \ModerationApi\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \ModerationApi\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + +} \ No newline at end of file diff --git a/src/Content/ContentStreamParams.php b/src/Content/ContentStreamParams.php deleted file mode 100644 index ccc1ff4..0000000 --- a/src/Content/ContentStreamParams.php +++ /dev/null @@ -1,88 +0,0 @@ -` on the upgrade. A missing/invalid key closes `4401`; voice not enabled on the plan/channel closes `4403`. - * - **Subprotocol:** request `moderationapi.v1`. - * - **Flow:** send one `start` frame, then `media` frames as audio arrives, then `stop` (or disconnect). You receive `session.started`, `utterance.final` per utterance, optional `utterance.partial`/`warning`, and `session.ended`. - * - **Close codes:** `1000` normal · `1011` server error · `4400` bad request · `4401` auth failed · `4403` voice not enabled · `4429` concurrency limit. - * - * See the [Real-time voice guide](https://docs.moderationapi.com/content-moderation/real-time-voice) for the full walkthrough and code examples. - * - * @see ModerationAPI\Services\ContentService::stream() - * - * @phpstan-type ContentStreamParamsShape = array{ - * secWebSocketProtocol: SecWebSocketProtocol|value-of - * } - */ -final class ContentStreamParams implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - use SdkParams; - - /** @var value-of $secWebSocketProtocol */ - #[Required(enum: SecWebSocketProtocol::class)] - public string $secWebSocketProtocol; - - /** - * `new ContentStreamParams()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ContentStreamParams::with(secWebSocketProtocol: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ContentStreamParams)->withSecWebSocketProtocol(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param SecWebSocketProtocol|value-of $secWebSocketProtocol - */ - public static function with( - SecWebSocketProtocol|string $secWebSocketProtocol - ): self { - $self = new self; - - $self['secWebSocketProtocol'] = $secWebSocketProtocol; - - return $self; - } - - /** - * @param SecWebSocketProtocol|value-of $secWebSocketProtocol - */ - public function withSecWebSocketProtocol( - SecWebSocketProtocol|string $secWebSocketProtocol - ): self { - $self = clone $this; - $self['secWebSocketProtocol'] = $secWebSocketProtocol; - - return $self; - } -} diff --git a/src/Content/ContentStreamParams/SecWebSocketProtocol.php b/src/Content/ContentStreamParams/SecWebSocketProtocol.php deleted file mode 100644 index 78d002f..0000000 --- a/src/Content/ContentStreamParams/SecWebSocketProtocol.php +++ /dev/null @@ -1,10 +0,0 @@ -|null, - * metaType?: null|MetaType|value-of, - * policies?: list|null, - * timestamp?: float|null, - * } - */ -final class ContentSubmitParams implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - use SdkParams; - - /** - * The content sent for moderation. - * - * @var ContentVariants $content - */ - #[Required] - public Text|Image|Video|Audio|Object_ $content; - - /** - * The author of the content. - */ - #[Optional('authorId')] - public ?string $authorID; - - /** - * Provide a channel ID or key. Will use the project's default channel if not provided. - */ - #[Optional] - public ?string $channel; - - /** - * A recommendation from your own client-side flagging (e.g. a banned-IP list or a third-party tool). Feeds the rules engine and can escalate or override the recommended action. Does not change whether our analysis flagged the content. - */ - #[Optional] - public ?ClientAction $clientAction; - - /** - * The unique ID of the content in your database. - */ - #[Optional('contentId')] - public ?string $contentID; - - /** - * For example the ID of a chat room or a post. - */ - #[Optional('conversationId')] - public ?string $conversationID; - - /** - * Do not store the content. The content won't enter the review queue. - */ - #[Optional] - public ?bool $doNotStore; - - /** - * Any metadata you want to store with the content. - * - * @var array|null $metadata - */ - #[Optional(map: 'mixed')] - public ?array $metadata; - - /** - * The meta type of content being moderated. - * - * @var value-of|null $metaType - */ - #[Optional(enum: MetaType::class)] - public ?string $metaType; - - /** - * (Enterprise) override the channel policies for this moderation request only. - * - * @var list|null $policies - */ - #[Optional(list: Policy::class)] - public ?array $policies; - - /** - * Unix timestamp (in milliseconds) of when the content was created. Use if content is not submitted in real-time. - */ - #[Optional] - public ?float $timestamp; - - /** - * `new ContentSubmitParams()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ContentSubmitParams::with(content: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ContentSubmitParams)->withContent(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param ContentShape $content - * @param ClientAction|ClientActionShape|null $clientAction - * @param array|null $metadata - * @param MetaType|value-of|null $metaType - * @param list|null $policies - */ - public static function with( - Text|array|Image|Video|Audio|Object_ $content, - ?string $authorID = null, - ?string $channel = null, - ClientAction|array|null $clientAction = null, - ?string $contentID = null, - ?string $conversationID = null, - ?bool $doNotStore = null, - ?array $metadata = null, - MetaType|string|null $metaType = null, - ?array $policies = null, - ?float $timestamp = null, - ): self { - $self = new self; - - $self['content'] = $content; - - null !== $authorID && $self['authorID'] = $authorID; - null !== $channel && $self['channel'] = $channel; - null !== $clientAction && $self['clientAction'] = $clientAction; - null !== $contentID && $self['contentID'] = $contentID; - null !== $conversationID && $self['conversationID'] = $conversationID; - null !== $doNotStore && $self['doNotStore'] = $doNotStore; - null !== $metadata && $self['metadata'] = $metadata; - null !== $metaType && $self['metaType'] = $metaType; - null !== $policies && $self['policies'] = $policies; - null !== $timestamp && $self['timestamp'] = $timestamp; - - return $self; - } - - /** - * The content sent for moderation. - * - * @param ContentShape $content - */ - public function withContent( - Text|array|Image|Video|Audio|Object_ $content - ): self { - $self = clone $this; - $self['content'] = $content; - - return $self; - } - - /** - * The author of the content. - */ - public function withAuthorID(string $authorID): self - { - $self = clone $this; - $self['authorID'] = $authorID; - - return $self; - } - - /** - * Provide a channel ID or key. Will use the project's default channel if not provided. - */ - public function withChannel(string $channel): self - { - $self = clone $this; - $self['channel'] = $channel; - - return $self; - } - - /** - * A recommendation from your own client-side flagging (e.g. a banned-IP list or a third-party tool). Feeds the rules engine and can escalate or override the recommended action. Does not change whether our analysis flagged the content. - * - * @param ClientAction|ClientActionShape $clientAction - */ - public function withClientAction(ClientAction|array $clientAction): self - { - $self = clone $this; - $self['clientAction'] = $clientAction; - - return $self; - } - - /** - * The unique ID of the content in your database. - */ - public function withContentID(string $contentID): self - { - $self = clone $this; - $self['contentID'] = $contentID; - - return $self; - } - - /** - * For example the ID of a chat room or a post. - */ - public function withConversationID(string $conversationID): self - { - $self = clone $this; - $self['conversationID'] = $conversationID; - - return $self; - } - - /** - * Do not store the content. The content won't enter the review queue. - */ - public function withDoNotStore(bool $doNotStore): self - { - $self = clone $this; - $self['doNotStore'] = $doNotStore; - - return $self; - } - - /** - * Any metadata you want to store with the content. - * - * @param array $metadata - */ - public function withMetadata(array $metadata): self - { - $self = clone $this; - $self['metadata'] = $metadata; - - return $self; - } - - /** - * The meta type of content being moderated. - * - * @param MetaType|value-of $metaType - */ - public function withMetaType(MetaType|string $metaType): self - { - $self = clone $this; - $self['metaType'] = $metaType; - - return $self; - } - - /** - * (Enterprise) override the channel policies for this moderation request only. - * - * @param list $policies - */ - public function withPolicies(array $policies): self - { - $self = clone $this; - $self['policies'] = $policies; - - return $self; - } - - /** - * Unix timestamp (in milliseconds) of when the content was created. Use if content is not submitted in real-time. - */ - public function withTimestamp(float $timestamp): self - { - $self = clone $this; - $self['timestamp'] = $timestamp; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/ClientAction.php b/src/Content/ContentSubmitParams/ClientAction.php deleted file mode 100644 index af16ddc..0000000 --- a/src/Content/ContentSubmitParams/ClientAction.php +++ /dev/null @@ -1,148 +0,0 @@ -, - * behavior?: null|Behavior|value-of, - * reason?: string|null, - * source?: string|null, - * } - */ -final class ClientAction implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * Your recommendation for the content: allow, review, or reject. - * - * @var value-of $action - */ - #[Required(enum: Action::class)] - public string $action; - - /** - * How your recommendation combines with ours. Defaults to 'escalate', which only applies it when stricter than ours; 'override' replaces ours outright. - * - * @var value-of|null $behavior - */ - #[Optional(enum: Behavior::class)] - public ?string $behavior; - - /** - * A human-readable explanation for your recommendation. - */ - #[Optional] - public ?string $reason; - - /** - * Where your recommendation came from, e.g. "banned-ip". - */ - #[Optional] - public ?string $source; - - /** - * `new ClientAction()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ClientAction::with(action: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ClientAction)->withAction(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Action|value-of $action - * @param Behavior|value-of|null $behavior - */ - public static function with( - Action|string $action, - Behavior|string|null $behavior = null, - ?string $reason = null, - ?string $source = null, - ): self { - $self = new self; - - $self['action'] = $action; - - null !== $behavior && $self['behavior'] = $behavior; - null !== $reason && $self['reason'] = $reason; - null !== $source && $self['source'] = $source; - - return $self; - } - - /** - * Your recommendation for the content: allow, review, or reject. - * - * @param Action|value-of $action - */ - public function withAction(Action|string $action): self - { - $self = clone $this; - $self['action'] = $action; - - return $self; - } - - /** - * How your recommendation combines with ours. Defaults to 'escalate', which only applies it when stricter than ours; 'override' replaces ours outright. - * - * @param Behavior|value-of $behavior - */ - public function withBehavior(Behavior|string $behavior): self - { - $self = clone $this; - $self['behavior'] = $behavior; - - return $self; - } - - /** - * A human-readable explanation for your recommendation. - */ - public function withReason(string $reason): self - { - $self = clone $this; - $self['reason'] = $reason; - - return $self; - } - - /** - * Where your recommendation came from, e.g. "banned-ip". - */ - public function withSource(string $source): self - { - $self = clone $this; - $self['source'] = $source; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/ClientAction/Action.php b/src/Content/ContentSubmitParams/ClientAction/Action.php deleted file mode 100644 index f850730..0000000 --- a/src/Content/ContentSubmitParams/ClientAction/Action.php +++ /dev/null @@ -1,17 +0,0 @@ -|array - */ - public static function variants(): array - { - return [ - Text::class, Image::class, Video::class, Audio::class, Object_::class, - ]; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Audio.php b/src/Content/ContentSubmitParams/Content/Audio.php deleted file mode 100644 index 6157ca5..0000000 --- a/src/Content/ContentSubmitParams/Content/Audio.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'audio' $type */ - #[Required] - public string $type = 'audio'; - - /** - * The URL of the audio content. - */ - #[Required] - public string $url; - - /** - * `new Audio()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Audio::with(url: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Audio)->withURL(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $url): self - { - $self = new self; - - $self['url'] = $url; - - return $self; - } - - /** - * @param 'audio' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * The URL of the audio content. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Image.php b/src/Content/ContentSubmitParams/Content/Image.php deleted file mode 100644 index 7da8011..0000000 --- a/src/Content/ContentSubmitParams/Content/Image.php +++ /dev/null @@ -1,92 +0,0 @@ - */ - use SdkModel; - - /** @var 'image' $type */ - #[Required] - public string $type = 'image'; - - /** - * Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. - */ - #[Optional] - public ?string $data; - - /** - * A public URL of the image content. Either url or data must be provided. - */ - #[Optional] - public ?string $url; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?string $data = null, ?string $url = null): self - { - $self = new self; - - null !== $data && $self['data'] = $data; - null !== $url && $self['url'] = $url; - - return $self; - } - - /** - * @param 'image' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. - */ - public function withData(string $data): self - { - $self = clone $this; - $self['data'] = $data; - - return $self; - } - - /** - * A public URL of the image content. Either url or data must be provided. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Object_.php b/src/Content/ContentSubmitParams/Content/Object_.php deleted file mode 100644 index 13ae267..0000000 --- a/src/Content/ContentSubmitParams/Content/Object_.php +++ /dev/null @@ -1,95 +0,0 @@ -, type: 'object'} - */ -final class Object_ implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var 'object' $type */ - #[Required] - public string $type = 'object'; - - /** - * Values in the object. Can be mixed content types. - * - * @var array $data - */ - #[Required(map: Data::class)] - public array $data; - - /** - * `new Object_()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Object_::with(data: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Object_)->withData(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param array $data - */ - public static function with(array $data): self - { - $self = new self; - - $self['data'] = $data; - - return $self; - } - - /** - * Values in the object. Can be mixed content types. - * - * @param array $data - */ - public function withData(array $data): self - { - $self = clone $this; - $self['data'] = $data; - - return $self; - } - - /** - * @param 'object' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Object_/Data.php b/src/Content/ContentSubmitParams/Content/Object_/Data.php deleted file mode 100644 index 60213ef..0000000 --- a/src/Content/ContentSubmitParams/Content/Object_/Data.php +++ /dev/null @@ -1,37 +0,0 @@ -|array - */ - public static function variants(): array - { - return [Text::class, Image::class, Video::class, Audio::class]; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Object_/Data/Audio.php b/src/Content/ContentSubmitParams/Content/Object_/Data/Audio.php deleted file mode 100644 index 6acaa67..0000000 --- a/src/Content/ContentSubmitParams/Content/Object_/Data/Audio.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'audio' $type */ - #[Required] - public string $type = 'audio'; - - /** - * The URL of the audio content. - */ - #[Required] - public string $url; - - /** - * `new Audio()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Audio::with(url: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Audio)->withURL(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $url): self - { - $self = new self; - - $self['url'] = $url; - - return $self; - } - - /** - * @param 'audio' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * The URL of the audio content. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Object_/Data/Image.php b/src/Content/ContentSubmitParams/Content/Object_/Data/Image.php deleted file mode 100644 index 267d989..0000000 --- a/src/Content/ContentSubmitParams/Content/Object_/Data/Image.php +++ /dev/null @@ -1,92 +0,0 @@ - */ - use SdkModel; - - /** @var 'image' $type */ - #[Required] - public string $type = 'image'; - - /** - * Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. - */ - #[Optional] - public ?string $data; - - /** - * A public URL of the image content. Either url or data must be provided. - */ - #[Optional] - public ?string $url; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?string $data = null, ?string $url = null): self - { - $self = new self; - - null !== $data && $self['data'] = $data; - null !== $url && $self['url'] = $url; - - return $self; - } - - /** - * @param 'image' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. - */ - public function withData(string $data): self - { - $self = clone $this; - $self['data'] = $data; - - return $self; - } - - /** - * A public URL of the image content. Either url or data must be provided. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Object_/Data/Text.php b/src/Content/ContentSubmitParams/Content/Object_/Data/Text.php deleted file mode 100644 index c101207..0000000 --- a/src/Content/ContentSubmitParams/Content/Object_/Data/Text.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'text' $type */ - #[Required] - public string $type = 'text'; - - /** - * The content text. - */ - #[Required] - public string $text; - - /** - * `new Text()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Text::with(text: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Text)->withText(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $text): self - { - $self = new self; - - $self['text'] = $text; - - return $self; - } - - /** - * The content text. - */ - public function withText(string $text): self - { - $self = clone $this; - $self['text'] = $text; - - return $self; - } - - /** - * @param 'text' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Object_/Data/Video.php b/src/Content/ContentSubmitParams/Content/Object_/Data/Video.php deleted file mode 100644 index 08b3843..0000000 --- a/src/Content/ContentSubmitParams/Content/Object_/Data/Video.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'video' $type */ - #[Required] - public string $type = 'video'; - - /** - * A public URL of the video content. - */ - #[Required] - public string $url; - - /** - * `new Video()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Video::with(url: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Video)->withURL(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $url): self - { - $self = new self; - - $self['url'] = $url; - - return $self; - } - - /** - * @param 'video' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * A public URL of the video content. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Text.php b/src/Content/ContentSubmitParams/Content/Text.php deleted file mode 100644 index aa90a9c..0000000 --- a/src/Content/ContentSubmitParams/Content/Text.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'text' $type */ - #[Required] - public string $type = 'text'; - - /** - * The content text. - */ - #[Required] - public string $text; - - /** - * `new Text()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Text::with(text: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Text)->withText(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $text): self - { - $self = new self; - - $self['text'] = $text; - - return $self; - } - - /** - * The content text. - */ - public function withText(string $text): self - { - $self = clone $this; - $self['text'] = $text; - - return $self; - } - - /** - * @param 'text' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Content/Video.php b/src/Content/ContentSubmitParams/Content/Video.php deleted file mode 100644 index 20716bb..0000000 --- a/src/Content/ContentSubmitParams/Content/Video.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'video' $type */ - #[Required] - public string $type = 'video'; - - /** - * A public URL of the video content. - */ - #[Required] - public string $url; - - /** - * `new Video()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Video::with(url: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Video)->withURL(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $url): self - { - $self = new self; - - $self['url'] = $url; - - return $self; - } - - /** - * @param 'video' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * A public URL of the video content. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/MetaType.php b/src/Content/ContentSubmitParams/MetaType.php deleted file mode 100644 index f2165c4..0000000 --- a/src/Content/ContentSubmitParams/MetaType.php +++ /dev/null @@ -1,29 +0,0 @@ -|array - */ - public static function variants(): array - { - return [ - Toxicity::class, - PersonalInformation::class, - ToxicitySevere::class, - Hate::class, - Illicit::class, - IllicitDrugs::class, - IllicitAlcohol::class, - IllicitFirearms::class, - IllicitTobacco::class, - IllicitGambling::class, - Cannabis::class, - Adult::class, - Crypto::class, - Sexual::class, - SexualMinors::class, - Flirtation::class, - Profanity::class, - Violence::class, - SelfHarm::class, - Spam::class, - LowQualityContent::class, - FaceDetection::class, - SelfPromotion::class, - Political::class, - Religion::class, - CodeAbuse::class, - UnicodeSpoofing::class, - PiiMasking::class, - URLMasking::class, - URLRisk::class, - Guideline::class, - ]; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Adult.php b/src/Content/ContentSubmitParams/Policy/Adult.php deleted file mode 100644 index 79a216f..0000000 --- a/src/Content/ContentSubmitParams/Policy/Adult.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'adult' $id */ - #[Required] - public string $id = 'adult'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Adult()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Adult::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Adult)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'adult' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Cannabis.php b/src/Content/ContentSubmitParams/Policy/Cannabis.php deleted file mode 100644 index 417f2ef..0000000 --- a/src/Content/ContentSubmitParams/Policy/Cannabis.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'cannabis' $id */ - #[Required] - public string $id = 'cannabis'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Cannabis()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Cannabis::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Cannabis)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'cannabis' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/CodeAbuse.php b/src/Content/ContentSubmitParams/Policy/CodeAbuse.php deleted file mode 100644 index 3389bb4..0000000 --- a/src/Content/ContentSubmitParams/Policy/CodeAbuse.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'code_abuse' $id */ - #[Required] - public string $id = 'code_abuse'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new CodeAbuse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * CodeAbuse::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new CodeAbuse)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'code_abuse' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Crypto.php b/src/Content/ContentSubmitParams/Policy/Crypto.php deleted file mode 100644 index fafb05e..0000000 --- a/src/Content/ContentSubmitParams/Policy/Crypto.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'crypto' $id */ - #[Required] - public string $id = 'crypto'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Crypto()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Crypto::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Crypto)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'crypto' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/FaceDetection.php b/src/Content/ContentSubmitParams/Policy/FaceDetection.php deleted file mode 100644 index 7392c27..0000000 --- a/src/Content/ContentSubmitParams/Policy/FaceDetection.php +++ /dev/null @@ -1,144 +0,0 @@ -, - * count?: int|null, - * threshold?: float|null, - * } - */ -final class FaceDetection implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var 'face_detection' $id */ - #[Required] - public string $id = 'face_detection'; - - #[Required] - public bool $flag; - - /** - * Flag images that contain "at least" or "fewer than" the configured number of faces. Defaults to at_least. - * - * @var value-of|null $comparator - */ - #[Optional(enum: Comparator::class)] - public ?string $comparator; - - /** - * Number of faces the comparator applies to. Defaults to 1, so the default rule flags any image containing a face. - */ - #[Optional] - public ?int $count; - - #[Optional] - public ?float $threshold; - - /** - * `new FaceDetection()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * FaceDetection::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new FaceDetection)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Comparator|value-of|null $comparator - */ - public static function with( - bool $flag, - Comparator|string|null $comparator = null, - ?int $count = null, - ?float $threshold = null, - ): self { - $self = new self; - - $self['flag'] = $flag; - - null !== $comparator && $self['comparator'] = $comparator; - null !== $count && $self['count'] = $count; - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'face_detection' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - /** - * Flag images that contain "at least" or "fewer than" the configured number of faces. Defaults to at_least. - * - * @param Comparator|value-of $comparator - */ - public function withComparator(Comparator|string $comparator): self - { - $self = clone $this; - $self['comparator'] = $comparator; - - return $self; - } - - /** - * Number of faces the comparator applies to. Defaults to 1, so the default rule flags any image containing a face. - */ - public function withCount(int $count): self - { - $self = clone $this; - $self['count'] = $count; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/FaceDetection/Comparator.php b/src/Content/ContentSubmitParams/Policy/FaceDetection/Comparator.php deleted file mode 100644 index a179c73..0000000 --- a/src/Content/ContentSubmitParams/Policy/FaceDetection/Comparator.php +++ /dev/null @@ -1,15 +0,0 @@ - */ - use SdkModel; - - /** @var 'flirtation' $id */ - #[Required] - public string $id = 'flirtation'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Flirtation()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Flirtation::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Flirtation)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'flirtation' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Guideline.php b/src/Content/ContentSubmitParams/Policy/Guideline.php deleted file mode 100644 index e93d3c1..0000000 --- a/src/Content/ContentSubmitParams/Policy/Guideline.php +++ /dev/null @@ -1,125 +0,0 @@ - */ - use SdkModel; - - /** @var 'guideline' $id */ - #[Required] - public string $id = 'guideline'; - - #[Required] - public bool $flag; - - #[Required] - public string $guidelineKey; - - #[Required] - public string $instructions; - - #[Optional] - public ?float $threshold; - - /** - * `new Guideline()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Guideline::with(flag: ..., guidelineKey: ..., instructions: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Guideline)->withFlag(...)->withGuidelineKey(...)->withInstructions(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - bool $flag, - string $guidelineKey, - string $instructions, - ?float $threshold = null, - ): self { - $self = new self; - - $self['flag'] = $flag; - $self['guidelineKey'] = $guidelineKey; - $self['instructions'] = $instructions; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'guideline' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withGuidelineKey(string $guidelineKey): self - { - $self = clone $this; - $self['guidelineKey'] = $guidelineKey; - - return $self; - } - - public function withInstructions(string $instructions): self - { - $self = clone $this; - $self['instructions'] = $instructions; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Hate.php b/src/Content/ContentSubmitParams/Policy/Hate.php deleted file mode 100644 index 7f08e52..0000000 --- a/src/Content/ContentSubmitParams/Policy/Hate.php +++ /dev/null @@ -1,91 +0,0 @@ - */ - use SdkModel; - - /** @var 'hate' $id */ - #[Required] - public string $id = 'hate'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Hate()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Hate::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Hate)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'hate' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Illicit.php b/src/Content/ContentSubmitParams/Policy/Illicit.php deleted file mode 100644 index 49aa2e5..0000000 --- a/src/Content/ContentSubmitParams/Policy/Illicit.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'illicit' $id */ - #[Required] - public string $id = 'illicit'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Illicit()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Illicit::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Illicit)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'illicit' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/IllicitAlcohol.php b/src/Content/ContentSubmitParams/Policy/IllicitAlcohol.php deleted file mode 100644 index 1e7d56b..0000000 --- a/src/Content/ContentSubmitParams/Policy/IllicitAlcohol.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'illicit_alcohol' $id */ - #[Required] - public string $id = 'illicit_alcohol'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new IllicitAlcohol()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * IllicitAlcohol::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new IllicitAlcohol)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'illicit_alcohol' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/IllicitDrugs.php b/src/Content/ContentSubmitParams/Policy/IllicitDrugs.php deleted file mode 100644 index 716ebfe..0000000 --- a/src/Content/ContentSubmitParams/Policy/IllicitDrugs.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'illicit_drugs' $id */ - #[Required] - public string $id = 'illicit_drugs'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new IllicitDrugs()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * IllicitDrugs::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new IllicitDrugs)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'illicit_drugs' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/IllicitFirearms.php b/src/Content/ContentSubmitParams/Policy/IllicitFirearms.php deleted file mode 100644 index 78ef79e..0000000 --- a/src/Content/ContentSubmitParams/Policy/IllicitFirearms.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'illicit_firearms' $id */ - #[Required] - public string $id = 'illicit_firearms'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new IllicitFirearms()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * IllicitFirearms::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new IllicitFirearms)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'illicit_firearms' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/IllicitGambling.php b/src/Content/ContentSubmitParams/Policy/IllicitGambling.php deleted file mode 100644 index b722ddb..0000000 --- a/src/Content/ContentSubmitParams/Policy/IllicitGambling.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'illicit_gambling' $id */ - #[Required] - public string $id = 'illicit_gambling'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new IllicitGambling()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * IllicitGambling::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new IllicitGambling)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'illicit_gambling' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/IllicitTobacco.php b/src/Content/ContentSubmitParams/Policy/IllicitTobacco.php deleted file mode 100644 index 737da92..0000000 --- a/src/Content/ContentSubmitParams/Policy/IllicitTobacco.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'illicit_tobacco' $id */ - #[Required] - public string $id = 'illicit_tobacco'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new IllicitTobacco()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * IllicitTobacco::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new IllicitTobacco)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'illicit_tobacco' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/LowQualityContent.php b/src/Content/ContentSubmitParams/Policy/LowQualityContent.php deleted file mode 100644 index ab9b923..0000000 --- a/src/Content/ContentSubmitParams/Policy/LowQualityContent.php +++ /dev/null @@ -1,114 +0,0 @@ - */ - use SdkModel; - - /** @var 'low_quality' $id */ - #[Required] - public string $id = 'low_quality'; - - #[Required] - public bool $flag; - - /** - * Flag content with fewer than this many words as low-effort. Defaults to 3. Set to disable by omitting. - */ - #[Optional] - public ?int $minWords; - - #[Optional] - public ?float $threshold; - - /** - * `new LowQualityContent()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * LowQualityContent::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new LowQualityContent)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - bool $flag, - ?int $minWords = null, - ?float $threshold = null - ): self { - $self = new self; - - $self['flag'] = $flag; - - null !== $minWords && $self['minWords'] = $minWords; - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'low_quality' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - /** - * Flag content with fewer than this many words as low-effort. Defaults to 3. Set to disable by omitting. - */ - public function withMinWords(int $minWords): self - { - $self = clone $this; - $self['minWords'] = $minWords; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/PersonalInformation.php b/src/Content/ContentSubmitParams/Policy/PersonalInformation.php deleted file mode 100644 index 2607528..0000000 --- a/src/Content/ContentSubmitParams/Policy/PersonalInformation.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'personal_information' $id */ - #[Required] - public string $id = 'personal_information'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new PersonalInformation()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * PersonalInformation::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new PersonalInformation)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'personal_information' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/PiiMasking.php b/src/Content/ContentSubmitParams/Policy/PiiMasking.php deleted file mode 100644 index 835db91..0000000 --- a/src/Content/ContentSubmitParams/Policy/PiiMasking.php +++ /dev/null @@ -1,88 +0,0 @@ - - * } - */ -final class PiiMasking implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var 'pii' $id */ - #[Required] - public string $id = 'pii'; - - /** @var array $entities */ - #[Required(map: Entity::class)] - public array $entities; - - /** - * `new PiiMasking()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * PiiMasking::with(entities: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new PiiMasking)->withEntities(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param array $entities - */ - public static function with(array $entities): self - { - $self = new self; - - $self['entities'] = $entities; - - return $self; - } - - /** - * @param 'pii' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * @param array $entities - */ - public function withEntities(array $entities): self - { - $self = clone $this; - $self['entities'] = $entities; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/PiiMasking/Entity.php b/src/Content/ContentSubmitParams/Policy/PiiMasking/Entity.php deleted file mode 100644 index 6a9d2de..0000000 --- a/src/Content/ContentSubmitParams/Policy/PiiMasking/Entity.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - #[Optional] - public ?bool $enable; - - #[Optional] - public ?bool $flag; - - #[Optional] - public ?string $mask; - - #[Optional] - public ?bool $shouldMask; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?bool $enable = null, - ?bool $flag = null, - ?string $mask = null, - ?bool $shouldMask = null, - ): self { - $self = new self; - - null !== $enable && $self['enable'] = $enable; - null !== $flag && $self['flag'] = $flag; - null !== $mask && $self['mask'] = $mask; - null !== $shouldMask && $self['shouldMask'] = $shouldMask; - - return $self; - } - - public function withEnable(bool $enable): self - { - $self = clone $this; - $self['enable'] = $enable; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withMask(string $mask): self - { - $self = clone $this; - $self['mask'] = $mask; - - return $self; - } - - public function withShouldMask(bool $shouldMask): self - { - $self = clone $this; - $self['shouldMask'] = $shouldMask; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Political.php b/src/Content/ContentSubmitParams/Policy/Political.php deleted file mode 100644 index e2d7c58..0000000 --- a/src/Content/ContentSubmitParams/Policy/Political.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'political' $id */ - #[Required] - public string $id = 'political'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Political()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Political::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Political)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'political' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Profanity.php b/src/Content/ContentSubmitParams/Policy/Profanity.php deleted file mode 100644 index 0014a56..0000000 --- a/src/Content/ContentSubmitParams/Policy/Profanity.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'profanity' $id */ - #[Required] - public string $id = 'profanity'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Profanity()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Profanity::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Profanity)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'profanity' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Religion.php b/src/Content/ContentSubmitParams/Policy/Religion.php deleted file mode 100644 index d4c46f0..0000000 --- a/src/Content/ContentSubmitParams/Policy/Religion.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'religion' $id */ - #[Required] - public string $id = 'religion'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Religion()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Religion::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Religion)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'religion' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/SelfHarm.php b/src/Content/ContentSubmitParams/Policy/SelfHarm.php deleted file mode 100644 index 772f9e8..0000000 --- a/src/Content/ContentSubmitParams/Policy/SelfHarm.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'self_harm' $id */ - #[Required] - public string $id = 'self_harm'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new SelfHarm()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * SelfHarm::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new SelfHarm)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'self_harm' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/SelfPromotion.php b/src/Content/ContentSubmitParams/Policy/SelfPromotion.php deleted file mode 100644 index 5e8df06..0000000 --- a/src/Content/ContentSubmitParams/Policy/SelfPromotion.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'self_promotion' $id */ - #[Required] - public string $id = 'self_promotion'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new SelfPromotion()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * SelfPromotion::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new SelfPromotion)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'self_promotion' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Sexual.php b/src/Content/ContentSubmitParams/Policy/Sexual.php deleted file mode 100644 index b32a64e..0000000 --- a/src/Content/ContentSubmitParams/Policy/Sexual.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'sexual' $id */ - #[Required] - public string $id = 'sexual'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Sexual()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Sexual::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Sexual)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'sexual' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/SexualMinors.php b/src/Content/ContentSubmitParams/Policy/SexualMinors.php deleted file mode 100644 index 63534c8..0000000 --- a/src/Content/ContentSubmitParams/Policy/SexualMinors.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'sexual_minors' $id */ - #[Required] - public string $id = 'sexual_minors'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new SexualMinors()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * SexualMinors::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new SexualMinors)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'sexual_minors' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Spam.php b/src/Content/ContentSubmitParams/Policy/Spam.php deleted file mode 100644 index d9b34fd..0000000 --- a/src/Content/ContentSubmitParams/Policy/Spam.php +++ /dev/null @@ -1,91 +0,0 @@ - */ - use SdkModel; - - /** @var 'spam' $id */ - #[Required] - public string $id = 'spam'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Spam()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Spam::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Spam)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'spam' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Toxicity.php b/src/Content/ContentSubmitParams/Policy/Toxicity.php deleted file mode 100644 index e59cf06..0000000 --- a/src/Content/ContentSubmitParams/Policy/Toxicity.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'toxicity' $id */ - #[Required] - public string $id = 'toxicity'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Toxicity()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Toxicity::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Toxicity)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'toxicity' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/ToxicitySevere.php b/src/Content/ContentSubmitParams/Policy/ToxicitySevere.php deleted file mode 100644 index 3356daa..0000000 --- a/src/Content/ContentSubmitParams/Policy/ToxicitySevere.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'toxicity_severe' $id */ - #[Required] - public string $id = 'toxicity_severe'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new ToxicitySevere()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ToxicitySevere::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ToxicitySevere)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'toxicity_severe' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/URLMasking.php b/src/Content/ContentSubmitParams/Policy/URLMasking.php deleted file mode 100644 index 67dc98d..0000000 --- a/src/Content/ContentSubmitParams/Policy/URLMasking.php +++ /dev/null @@ -1,88 +0,0 @@ - - * } - */ -final class URLMasking implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var 'url' $id */ - #[Required] - public string $id = 'url'; - - /** @var array $entities */ - #[Required(map: Entity::class)] - public array $entities; - - /** - * `new URLMasking()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * URLMasking::with(entities: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new URLMasking)->withEntities(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param array $entities - */ - public static function with(array $entities): self - { - $self = new self; - - $self['entities'] = $entities; - - return $self; - } - - /** - * @param 'url' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * @param array $entities - */ - public function withEntities(array $entities): self - { - $self = clone $this; - $self['entities'] = $entities; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/URLMasking/Entity.php b/src/Content/ContentSubmitParams/Policy/URLMasking/Entity.php deleted file mode 100644 index 6680dee..0000000 --- a/src/Content/ContentSubmitParams/Policy/URLMasking/Entity.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - #[Optional] - public ?bool $enable; - - #[Optional] - public ?bool $flag; - - #[Optional] - public ?string $mask; - - #[Optional] - public ?bool $shouldMask; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?bool $enable = null, - ?bool $flag = null, - ?string $mask = null, - ?bool $shouldMask = null, - ): self { - $self = new self; - - null !== $enable && $self['enable'] = $enable; - null !== $flag && $self['flag'] = $flag; - null !== $mask && $self['mask'] = $mask; - null !== $shouldMask && $self['shouldMask'] = $shouldMask; - - return $self; - } - - public function withEnable(bool $enable): self - { - $self = clone $this; - $self['enable'] = $enable; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withMask(string $mask): self - { - $self = clone $this; - $self['mask'] = $mask; - - return $self; - } - - public function withShouldMask(bool $shouldMask): self - { - $self = clone $this; - $self['shouldMask'] = $shouldMask; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/URLRisk.php b/src/Content/ContentSubmitParams/Policy/URLRisk.php deleted file mode 100644 index 9e3bdb9..0000000 --- a/src/Content/ContentSubmitParams/Policy/URLRisk.php +++ /dev/null @@ -1,168 +0,0 @@ -|null, - * blocklistWordlistIDs?: list|null, - * flagLinkShorteners?: bool|null, - * threshold?: float|null, - * } - */ -final class URLRisk implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var 'url_risk' $id */ - #[Required] - public string $id = 'url_risk'; - - #[Required] - public bool $flag; - - /** - * IDs of wordlists whose entries are treated as allowed URL domains. Matches short-circuit the risk model and are never flagged. - * - * @var list|null $allowlistWordlistIDs - */ - #[Optional('allowlistWordlistIds', list: 'string')] - public ?array $allowlistWordlistIDs; - - /** - * IDs of wordlists whose entries are treated as blocked URL domains. Matches short-circuit the risk model and are always flagged. Blocklists take precedence over allowlists. - * - * @var list|null $blocklistWordlistIDs - */ - #[Optional('blocklistWordlistIds', list: 'string')] - public ?array $blocklistWordlistIDs; - - /** - * When true, any URL detected as a free link shortener (bit.ly, t.co, tinyurl, etc.) is always flagged regardless of risk score. Allowlist matches still win. - */ - #[Optional] - public ?bool $flagLinkShorteners; - - #[Optional] - public ?float $threshold; - - /** - * `new URLRisk()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * URLRisk::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new URLRisk)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param list|null $allowlistWordlistIDs - * @param list|null $blocklistWordlistIDs - */ - public static function with( - bool $flag, - ?array $allowlistWordlistIDs = null, - ?array $blocklistWordlistIDs = null, - ?bool $flagLinkShorteners = null, - ?float $threshold = null, - ): self { - $self = new self; - - $self['flag'] = $flag; - - null !== $allowlistWordlistIDs && $self['allowlistWordlistIDs'] = $allowlistWordlistIDs; - null !== $blocklistWordlistIDs && $self['blocklistWordlistIDs'] = $blocklistWordlistIDs; - null !== $flagLinkShorteners && $self['flagLinkShorteners'] = $flagLinkShorteners; - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'url_risk' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - /** - * IDs of wordlists whose entries are treated as allowed URL domains. Matches short-circuit the risk model and are never flagged. - * - * @param list $allowlistWordlistIDs - */ - public function withAllowlistWordlistIDs(array $allowlistWordlistIDs): self - { - $self = clone $this; - $self['allowlistWordlistIDs'] = $allowlistWordlistIDs; - - return $self; - } - - /** - * IDs of wordlists whose entries are treated as blocked URL domains. Matches short-circuit the risk model and are always flagged. Blocklists take precedence over allowlists. - * - * @param list $blocklistWordlistIDs - */ - public function withBlocklistWordlistIDs(array $blocklistWordlistIDs): self - { - $self = clone $this; - $self['blocklistWordlistIDs'] = $blocklistWordlistIDs; - - return $self; - } - - /** - * When true, any URL detected as a free link shortener (bit.ly, t.co, tinyurl, etc.) is always flagged regardless of risk score. Allowlist matches still win. - */ - public function withFlagLinkShorteners(bool $flagLinkShorteners): self - { - $self = clone $this; - $self['flagLinkShorteners'] = $flagLinkShorteners; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/UnicodeSpoofing.php b/src/Content/ContentSubmitParams/Policy/UnicodeSpoofing.php deleted file mode 100644 index e2f6817..0000000 --- a/src/Content/ContentSubmitParams/Policy/UnicodeSpoofing.php +++ /dev/null @@ -1,126 +0,0 @@ -|null, - * threshold?: float|null, - * } - */ -final class UnicodeSpoofing implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var 'unicode_spoofing' $id */ - #[Required] - public string $id = 'unicode_spoofing'; - - #[Required] - public bool $flag; - - /** - * Per-signal flag toggles. Omitted spoofing signals are enabled; encoding_damage defaults to off because decode damage (U+FFFD) marks a broken pipeline, not an attack. A disabled signal is still detected and reported as a label, but does not by itself flag the policy. - * - * @var array|null $signals - */ - #[Optional(map: Signal::class)] - public ?array $signals; - - #[Optional] - public ?float $threshold; - - /** - * `new UnicodeSpoofing()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * UnicodeSpoofing::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new UnicodeSpoofing)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param array|null $signals - */ - public static function with( - bool $flag, - ?array $signals = null, - ?float $threshold = null - ): self { - $self = new self; - - $self['flag'] = $flag; - - null !== $signals && $self['signals'] = $signals; - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'unicode_spoofing' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - /** - * Per-signal flag toggles. Omitted spoofing signals are enabled; encoding_damage defaults to off because decode damage (U+FFFD) marks a broken pipeline, not an attack. A disabled signal is still detected and reported as a label, but does not by itself flag the policy. - * - * @param array $signals - */ - public function withSignals(array $signals): self - { - $self = clone $this; - $self['signals'] = $signals; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/UnicodeSpoofing/Signal.php b/src/Content/ContentSubmitParams/Policy/UnicodeSpoofing/Signal.php deleted file mode 100644 index d497211..0000000 --- a/src/Content/ContentSubmitParams/Policy/UnicodeSpoofing/Signal.php +++ /dev/null @@ -1,48 +0,0 @@ - */ - use SdkModel; - - #[Optional] - public ?bool $flag; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?bool $flag = null): self - { - $self = new self; - - null !== $flag && $self['flag'] = $flag; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } -} diff --git a/src/Content/ContentSubmitParams/Policy/Violence.php b/src/Content/ContentSubmitParams/Policy/Violence.php deleted file mode 100644 index fe4624e..0000000 --- a/src/Content/ContentSubmitParams/Policy/Violence.php +++ /dev/null @@ -1,93 +0,0 @@ - */ - use SdkModel; - - /** @var 'violence' $id */ - #[Required] - public string $id = 'violence'; - - #[Required] - public bool $flag; - - #[Optional] - public ?float $threshold; - - /** - * `new Violence()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Violence::with(flag: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Violence)->withFlag(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(bool $flag, ?float $threshold = null): self - { - $self = new self; - - $self['flag'] = $flag; - - null !== $threshold && $self['threshold'] = $threshold; - - return $self; - } - - /** - * @param 'violence' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withFlag(bool $flag): self - { - $self = clone $this; - $self['flag'] = $flag; - - return $self; - } - - public function withThreshold(float $threshold): self - { - $self = clone $this; - $self['threshold'] = $threshold; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse.php b/src/Content/ContentSubmitResponse.php deleted file mode 100644 index 107dce4..0000000 --- a/src/Content/ContentSubmitResponse.php +++ /dev/null @@ -1,306 +0,0 @@ -, - * meta: Meta|MetaShape, - * policies: list, - * recommendation: Recommendation|RecommendationShape, - * errors?: list|null, - * } - */ -final class ContentSubmitResponse implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * The author of the content if your account has authors enabled. Requires you to send authorId when submitting content. - */ - #[Required] - public ?Author $author; - - /** - * What your casebook — the record of your past moderation decisions — found for this content, or null when it had nothing close enough to say, when the matching cases disagreed, or when casebook lookups are not switched on for this channel. Reports what the casebook found; whether it decided the outcome is shown in `recommendation`, where a higher-priority rule may have settled the item first. - */ - #[Required] - public ?Casebook $casebook; - - /** - * Potentially modified content. - */ - #[Required] - public Content $content; - - /** - * The evaluation of the content after running the channel policies. - */ - #[Required] - public Evaluation $evaluation; - - /** - * Results of all insights enabled in the channel. - * - * @var list $insights - */ - #[Required(list: Insight::class)] - public array $insights; - - /** - * Metadata about the moderation request. - */ - #[Required] - public Meta $meta; - - /** - * Results of all policies in the channel. Sorted by highest probability. - * - * @var list $policies - */ - #[Required(list: Policy::class)] - public array $policies; - - /** - * The recommendation for the content based on the evaluation. - */ - #[Required] - public Recommendation $recommendation; - - /** - * Policies that had errors. - * - * @var list|null $errors - */ - #[Optional(list: Error::class)] - public ?array $errors; - - /** - * `new ContentSubmitResponse()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * ContentSubmitResponse::with( - * author: ..., - * casebook: ..., - * content: ..., - * evaluation: ..., - * insights: ..., - * meta: ..., - * policies: ..., - * recommendation: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new ContentSubmitResponse) - * ->withAuthor(...) - * ->withCasebook(...) - * ->withContent(...) - * ->withEvaluation(...) - * ->withInsights(...) - * ->withMeta(...) - * ->withPolicies(...) - * ->withRecommendation(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Author|AuthorShape|null $author - * @param Casebook|CasebookShape|null $casebook - * @param Content|ContentShape $content - * @param Evaluation|EvaluationShape $evaluation - * @param list $insights - * @param Meta|MetaShape $meta - * @param list $policies - * @param Recommendation|RecommendationShape $recommendation - * @param list|null $errors - */ - public static function with( - Author|array|null $author, - Casebook|array|null $casebook, - Content|array $content, - Evaluation|array $evaluation, - array $insights, - Meta|array $meta, - array $policies, - Recommendation|array $recommendation, - ?array $errors = null, - ): self { - $self = new self; - - $self['author'] = $author; - $self['casebook'] = $casebook; - $self['content'] = $content; - $self['evaluation'] = $evaluation; - $self['insights'] = $insights; - $self['meta'] = $meta; - $self['policies'] = $policies; - $self['recommendation'] = $recommendation; - - null !== $errors && $self['errors'] = $errors; - - return $self; - } - - /** - * The author of the content if your account has authors enabled. Requires you to send authorId when submitting content. - * - * @param Author|AuthorShape|null $author - */ - public function withAuthor(Author|array|null $author): self - { - $self = clone $this; - $self['author'] = $author; - - return $self; - } - - /** - * What your casebook — the record of your past moderation decisions — found for this content, or null when it had nothing close enough to say, when the matching cases disagreed, or when casebook lookups are not switched on for this channel. Reports what the casebook found; whether it decided the outcome is shown in `recommendation`, where a higher-priority rule may have settled the item first. - * - * @param Casebook|CasebookShape|null $casebook - */ - public function withCasebook(Casebook|array|null $casebook): self - { - $self = clone $this; - $self['casebook'] = $casebook; - - return $self; - } - - /** - * Potentially modified content. - * - * @param Content|ContentShape $content - */ - public function withContent(Content|array $content): self - { - $self = clone $this; - $self['content'] = $content; - - return $self; - } - - /** - * The evaluation of the content after running the channel policies. - * - * @param Evaluation|EvaluationShape $evaluation - */ - public function withEvaluation(Evaluation|array $evaluation): self - { - $self = clone $this; - $self['evaluation'] = $evaluation; - - return $self; - } - - /** - * Results of all insights enabled in the channel. - * - * @param list $insights - */ - public function withInsights(array $insights): self - { - $self = clone $this; - $self['insights'] = $insights; - - return $self; - } - - /** - * Metadata about the moderation request. - * - * @param Meta|MetaShape $meta - */ - public function withMeta(Meta|array $meta): self - { - $self = clone $this; - $self['meta'] = $meta; - - return $self; - } - - /** - * Results of all policies in the channel. Sorted by highest probability. - * - * @param list $policies - */ - public function withPolicies(array $policies): self - { - $self = clone $this; - $self['policies'] = $policies; - - return $self; - } - - /** - * The recommendation for the content based on the evaluation. - * - * @param Recommendation|RecommendationShape $recommendation - */ - public function withRecommendation( - Recommendation|array $recommendation - ): self { - $self = clone $this; - $self['recommendation'] = $recommendation; - - return $self; - } - - /** - * Policies that had errors. - * - * @param list $errors - */ - public function withErrors(array $errors): self - { - $self = clone $this; - $self['errors'] = $errors; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Author.php b/src/Content/ContentSubmitResponse/Author.php deleted file mode 100644 index c339640..0000000 --- a/src/Content/ContentSubmitResponse/Author.php +++ /dev/null @@ -1,168 +0,0 @@ -, - * trustLevel: TrustLevel|TrustLevelShape, - * externalID?: string|null, - * } - */ -final class Author implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * Author ID in Moderation API. - */ - #[Required] - public string $id; - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - */ - #[Required] - public ?Block $block; - - /** - * Current author status. - * - * @var value-of $status - */ - #[Required(enum: Status::class)] - public string $status; - - #[Required('trust_level')] - public TrustLevel $trustLevel; - - /** - * The author's ID from your system. - */ - #[Optional('external_id', nullable: true)] - public ?string $externalID; - - /** - * `new Author()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Author::with(id: ..., block: ..., status: ..., trustLevel: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Author)->withID(...)->withBlock(...)->withStatus(...)->withTrustLevel(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Block|BlockShape|null $block - * @param Status|value-of $status - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public static function with( - string $id, - Block|array|null $block, - Status|string $status, - TrustLevel|array $trustLevel, - ?string $externalID = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['block'] = $block; - $self['status'] = $status; - $self['trustLevel'] = $trustLevel; - - null !== $externalID && $self['externalID'] = $externalID; - - return $self; - } - - /** - * Author ID in Moderation API. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Block or suspension details, if applicable. Null if the author is enabled. - * - * @param Block|BlockShape|null $block - */ - public function withBlock(Block|array|null $block): self - { - $self = clone $this; - $self['block'] = $block; - - return $self; - } - - /** - * Current author status. - * - * @param Status|value-of $status - */ - public function withStatus(Status|string $status): self - { - $self = clone $this; - $self['status'] = $status; - - return $self; - } - - /** - * @param TrustLevel|TrustLevelShape $trustLevel - */ - public function withTrustLevel(TrustLevel|array $trustLevel): self - { - $self = clone $this; - $self['trustLevel'] = $trustLevel; - - return $self; - } - - /** - * The author's ID from your system. - */ - public function withExternalID(?string $externalID): self - { - $self = clone $this; - $self['externalID'] = $externalID; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Author/Block.php b/src/Content/ContentSubmitResponse/Author/Block.php deleted file mode 100644 index 47e8356..0000000 --- a/src/Content/ContentSubmitResponse/Author/Block.php +++ /dev/null @@ -1,76 +0,0 @@ - */ - use SdkModel; - - /** - * The moderators reason why the author was blocked or suspended. - */ - #[Optional(nullable: true)] - public ?string $reason; - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - #[Optional(nullable: true)] - public ?float $until; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - ?string $reason = null, - ?float $until = null - ): self { - $self = new self; - - null !== $reason && $self['reason'] = $reason; - null !== $until && $self['until'] = $until; - - return $self; - } - - /** - * The moderators reason why the author was blocked or suspended. - */ - public function withReason(?string $reason): self - { - $self = clone $this; - $self['reason'] = $reason; - - return $self; - } - - /** - * The timestamp until which they are blocked if the author is suspended. - */ - public function withUntil(?float $until): self - { - $self = clone $this; - $self['until'] = $until; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Author/Status.php b/src/Content/ContentSubmitResponse/Author/Status.php deleted file mode 100644 index 0bbf167..0000000 --- a/src/Content/ContentSubmitResponse/Author/Status.php +++ /dev/null @@ -1,17 +0,0 @@ - */ - use SdkModel; - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - #[Required] - public float $level; - - /** - * True if the trust level was set manually by a moderator. - */ - #[Required] - public bool $manual; - - /** - * `new TrustLevel()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * TrustLevel::with(level: ..., manual: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new TrustLevel)->withLevel(...)->withManual(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(float $level, bool $manual): self - { - $self = new self; - - $self['level'] = $level; - $self['manual'] = $manual; - - return $self; - } - - /** - * Author trust level (-1, 0, 1, 2, 3, or 4). - */ - public function withLevel(float $level): self - { - $self = clone $this; - $self['level'] = $level; - - return $self; - } - - /** - * True if the trust level was set manually by a moderator. - */ - public function withManual(bool $manual): self - { - $self = clone $this; - $self['manual'] = $manual; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Casebook.php b/src/Content/ContentSubmitResponse/Casebook.php deleted file mode 100644 index e999f03..0000000 --- a/src/Content/ContentSubmitResponse/Casebook.php +++ /dev/null @@ -1,199 +0,0 @@ -, - * } - */ -final class Casebook implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * How unanimous the matching cases are, from 0 to 1: the share of them that decided this way, ignoring how many there are. Always at least 0.8 when a ruling is returned — below that the casebook reports a disagreement instead of picking a side — so it tells you how clean the consensus was, and is not a threshold to re-apply yourself. - */ - #[Required] - public float $agreement; - - /** - * How many of your past cases backed this ruling. - */ - #[Required('case_count')] - public float $caseCount; - - /** - * How strongly the casebook holds this ruling, from 0 to 1: the agreement scaled by how much evidence backs it, so a handful of close, recent cases outweighs one distant one. Older cases count for less, halving in weight roughly every 180 days. This is the number to use in rules when you want a strength condition. - */ - #[Required] - public float $confidence; - - /** - * How close the nearest matching case is, from 0 to 1. 1 means the content is identical to something you have already decided. - */ - #[Required] - public float $similarity; - - /** - * The topic the closest matching case is filed under, or null when it has not been grouped into one yet. - */ - #[Required] - public ?Topic $topic; - - /** - * The ruling your past decisions point to for this content. - * - * @var value-of $verdict - */ - #[Required(enum: Verdict::class)] - public string $verdict; - - /** - * `new Casebook()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Casebook::with( - * agreement: ..., - * caseCount: ..., - * confidence: ..., - * similarity: ..., - * topic: ..., - * verdict: ..., - * ) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Casebook) - * ->withAgreement(...) - * ->withCaseCount(...) - * ->withConfidence(...) - * ->withSimilarity(...) - * ->withTopic(...) - * ->withVerdict(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Topic|TopicShape|null $topic - * @param Verdict|value-of $verdict - */ - public static function with( - float $agreement, - float $caseCount, - float $confidence, - float $similarity, - Topic|array|null $topic, - Verdict|string $verdict, - ): self { - $self = new self; - - $self['agreement'] = $agreement; - $self['caseCount'] = $caseCount; - $self['confidence'] = $confidence; - $self['similarity'] = $similarity; - $self['topic'] = $topic; - $self['verdict'] = $verdict; - - return $self; - } - - /** - * How unanimous the matching cases are, from 0 to 1: the share of them that decided this way, ignoring how many there are. Always at least 0.8 when a ruling is returned — below that the casebook reports a disagreement instead of picking a side — so it tells you how clean the consensus was, and is not a threshold to re-apply yourself. - */ - public function withAgreement(float $agreement): self - { - $self = clone $this; - $self['agreement'] = $agreement; - - return $self; - } - - /** - * How many of your past cases backed this ruling. - */ - public function withCaseCount(float $caseCount): self - { - $self = clone $this; - $self['caseCount'] = $caseCount; - - return $self; - } - - /** - * How strongly the casebook holds this ruling, from 0 to 1: the agreement scaled by how much evidence backs it, so a handful of close, recent cases outweighs one distant one. Older cases count for less, halving in weight roughly every 180 days. This is the number to use in rules when you want a strength condition. - */ - public function withConfidence(float $confidence): self - { - $self = clone $this; - $self['confidence'] = $confidence; - - return $self; - } - - /** - * How close the nearest matching case is, from 0 to 1. 1 means the content is identical to something you have already decided. - */ - public function withSimilarity(float $similarity): self - { - $self = clone $this; - $self['similarity'] = $similarity; - - return $self; - } - - /** - * The topic the closest matching case is filed under, or null when it has not been grouped into one yet. - * - * @param Topic|TopicShape|null $topic - */ - public function withTopic(Topic|array|null $topic): self - { - $self = clone $this; - $self['topic'] = $topic; - - return $self; - } - - /** - * The ruling your past decisions point to for this content. - * - * @param Verdict|value-of $verdict - */ - public function withVerdict(Verdict|string $verdict): self - { - $self = clone $this; - $self['verdict'] = $verdict; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Casebook/Topic.php b/src/Content/ContentSubmitResponse/Casebook/Topic.php deleted file mode 100644 index faed876..0000000 --- a/src/Content/ContentSubmitResponse/Casebook/Topic.php +++ /dev/null @@ -1,76 +0,0 @@ - */ - use SdkModel; - - #[Required] - public string $id; - - #[Required] - public string $label; - - /** - * `new Topic()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Topic::with(id: ..., label: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Topic)->withID(...)->withLabel(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $id, string $label): self - { - $self = new self; - - $self['id'] = $id; - $self['label'] = $label; - - return $self; - } - - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withLabel(string $label): self - { - $self = clone $this; - $self['label'] = $label; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Casebook/Verdict.php b/src/Content/ContentSubmitResponse/Casebook/Verdict.php deleted file mode 100644 index 39b7779..0000000 --- a/src/Content/ContentSubmitResponse/Casebook/Verdict.php +++ /dev/null @@ -1,15 +0,0 @@ - */ - use SdkModel; - - /** - * The unique identifier for the content. Either the contentId provided by you or an autogenerated ID. - */ - #[Required] - public string $id; - - /** - * Whether any values have been masked. - */ - #[Required] - public bool $masked; - - /** - * The modified content, if any. - * - * @var ModifiedVariants|null $modified - */ - #[Required(union: Modified::class)] - public string|array|null $modified; - - /** - * Whether Unicode spoofing normalization rewrote the content — confusables folded to their Latin lookalikes, invisible characters and combining-mark abuse stripped. - */ - #[Required('unicode_cleaned')] - public bool $unicodeCleaned; - - /** - * The transcribed text from audio content. Only present when audio moderation is used and transcript inclusion is enabled on the channel. - */ - #[Optional(nullable: true)] - public ?string $transcript; - - /** - * `new Content()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Content::with(id: ..., masked: ..., modified: ..., unicodeCleaned: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Content) - * ->withID(...) - * ->withMasked(...) - * ->withModified(...) - * ->withUnicodeCleaned(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param ModifiedShape|null $modified - */ - public static function with( - string $id, - bool $masked, - string|array|null $modified, - bool $unicodeCleaned, - ?string $transcript = null, - ): self { - $self = new self; - - $self['id'] = $id; - $self['masked'] = $masked; - $self['modified'] = $modified; - $self['unicodeCleaned'] = $unicodeCleaned; - - null !== $transcript && $self['transcript'] = $transcript; - - return $self; - } - - /** - * The unique identifier for the content. Either the contentId provided by you or an autogenerated ID. - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - /** - * Whether any values have been masked. - */ - public function withMasked(bool $masked): self - { - $self = clone $this; - $self['masked'] = $masked; - - return $self; - } - - /** - * The modified content, if any. - * - * @param ModifiedShape|null $modified - */ - public function withModified(string|array|null $modified): self - { - $self = clone $this; - $self['modified'] = $modified; - - return $self; - } - - /** - * Whether Unicode spoofing normalization rewrote the content — confusables folded to their Latin lookalikes, invisible characters and combining-mark abuse stripped. - */ - public function withUnicodeCleaned(bool $unicodeCleaned): self - { - $self = clone $this; - $self['unicodeCleaned'] = $unicodeCleaned; - - return $self; - } - - /** - * The transcribed text from audio content. Only present when audio moderation is used and transcript inclusion is enabled on the channel. - */ - public function withTranscript(?string $transcript): self - { - $self = clone $this; - $self['transcript'] = $transcript; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Content/Modified.php b/src/Content/ContentSubmitResponse/Content/Modified.php deleted file mode 100644 index 0f1472f..0000000 --- a/src/Content/ContentSubmitResponse/Content/Modified.php +++ /dev/null @@ -1,40 +0,0 @@ -|array - * @phpstan-type ModifiedShape = ModifiedVariants|array - */ -final class Modified implements ConverterSource -{ - use SdkUnion; - - /** - * @return list|array - */ - public static function variants(): array - { - return [ - 'string', - new MapOf('mixed'), - new MapOf(ModifiedNestedObjectContent::class), - ]; - } -} diff --git a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent.php b/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent.php deleted file mode 100644 index 60fdc0b..0000000 --- a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent.php +++ /dev/null @@ -1,37 +0,0 @@ -|array - */ - public static function variants(): array - { - return [Text::class, Image::class, Video::class, Audio::class]; - } -} diff --git a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Audio.php b/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Audio.php deleted file mode 100644 index ddccd18..0000000 --- a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Audio.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'audio' $type */ - #[Required] - public string $type = 'audio'; - - /** - * The URL of the audio content. - */ - #[Required] - public string $url; - - /** - * `new Audio()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Audio::with(url: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Audio)->withURL(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $url): self - { - $self = new self; - - $self['url'] = $url; - - return $self; - } - - /** - * @param 'audio' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * The URL of the audio content. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Image.php b/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Image.php deleted file mode 100644 index 5c47405..0000000 --- a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Image.php +++ /dev/null @@ -1,92 +0,0 @@ - */ - use SdkModel; - - /** @var 'image' $type */ - #[Required] - public string $type = 'image'; - - /** - * Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. - */ - #[Optional] - public ?string $data; - - /** - * A public URL of the image content. Either url or data must be provided. - */ - #[Optional] - public ?string $url; - - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(?string $data = null, ?string $url = null): self - { - $self = new self; - - null !== $data && $self['data'] = $data; - null !== $url && $self['url'] = $url; - - return $self; - } - - /** - * @param 'image' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * Base64-encoded image data. Either url or data must be provided. Note: base64 images are not stored and will not appear in the review queue. - */ - public function withData(string $data): self - { - $self = clone $this; - $self['data'] = $data; - - return $self; - } - - /** - * A public URL of the image content. Either url or data must be provided. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Text.php b/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Text.php deleted file mode 100644 index 2069276..0000000 --- a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Text.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'text' $type */ - #[Required] - public string $type = 'text'; - - /** - * The content text. - */ - #[Required] - public string $text; - - /** - * `new Text()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Text::with(text: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Text)->withText(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $text): self - { - $self = new self; - - $self['text'] = $text; - - return $self; - } - - /** - * The content text. - */ - public function withText(string $text): self - { - $self = clone $this; - $self['text'] = $text; - - return $self; - } - - /** - * @param 'text' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Video.php b/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Video.php deleted file mode 100644 index 5df1b8e..0000000 --- a/src/Content/ContentSubmitResponse/Content/Modified/ModifiedNestedObjectContent/Video.php +++ /dev/null @@ -1,85 +0,0 @@ - */ - use SdkModel; - - /** @var 'video' $type */ - #[Required] - public string $type = 'video'; - - /** - * A public URL of the video content. - */ - #[Required] - public string $url; - - /** - * `new Video()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Video::with(url: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Video)->withURL(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $url): self - { - $self = new self; - - $self['url'] = $url; - - return $self; - } - - /** - * @param 'video' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * A public URL of the video content. - */ - public function withURL(string $url): self - { - $self = clone $this; - $self['url'] = $url; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Error.php b/src/Content/ContentSubmitResponse/Error.php deleted file mode 100644 index 8c6fe47..0000000 --- a/src/Content/ContentSubmitResponse/Error.php +++ /dev/null @@ -1,74 +0,0 @@ - */ - use SdkModel; - - #[Required] - public string $id; - - #[Required] - public string $message; - - /** - * `new Error()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Error::with(id: ..., message: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Error)->withID(...)->withMessage(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(string $id, string $message): self - { - $self = new self; - - $self['id'] = $id; - $self['message'] = $message; - - return $self; - } - - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withMessage(string $message): self - { - $self = clone $this; - $self['message'] = $message; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Evaluation.php b/src/Content/ContentSubmitResponse/Evaluation.php deleted file mode 100644 index c0d56b1..0000000 --- a/src/Content/ContentSubmitResponse/Evaluation.php +++ /dev/null @@ -1,158 +0,0 @@ - */ - use SdkModel; - - /** - * The probability that the content should be flagged. - */ - #[Required('flag_probability')] - public float $flagProbability; - - /** - * Whether the content was flagged by any policy. - */ - #[Required] - public bool $flagged; - - /** - * The severity score of the content. A higher score indicates more severe content. - */ - #[Required('severity_score')] - public float $severityScore; - - /** - * Whether the content would have been flagged by analyze-only policies (flag: false). - */ - #[Optional('shadow_flagged')] - public ?bool $shadowFlagged; - - /** - * Whether the content was flagged for Unicode spoofing. - */ - #[Optional('unicode_spoofed')] - public ?bool $unicodeSpoofed; - - /** - * `new Evaluation()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Evaluation::with(flagProbability: ..., flagged: ..., severityScore: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Evaluation) - * ->withFlagProbability(...) - * ->withFlagged(...) - * ->withSeverityScore(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with( - float $flagProbability, - bool $flagged, - float $severityScore, - ?bool $shadowFlagged = null, - ?bool $unicodeSpoofed = null, - ): self { - $self = new self; - - $self['flagProbability'] = $flagProbability; - $self['flagged'] = $flagged; - $self['severityScore'] = $severityScore; - - null !== $shadowFlagged && $self['shadowFlagged'] = $shadowFlagged; - null !== $unicodeSpoofed && $self['unicodeSpoofed'] = $unicodeSpoofed; - - return $self; - } - - /** - * The probability that the content should be flagged. - */ - public function withFlagProbability(float $flagProbability): self - { - $self = clone $this; - $self['flagProbability'] = $flagProbability; - - return $self; - } - - /** - * Whether the content was flagged by any policy. - */ - public function withFlagged(bool $flagged): self - { - $self = clone $this; - $self['flagged'] = $flagged; - - return $self; - } - - /** - * The severity score of the content. A higher score indicates more severe content. - */ - public function withSeverityScore(float $severityScore): self - { - $self = clone $this; - $self['severityScore'] = $severityScore; - - return $self; - } - - /** - * Whether the content would have been flagged by analyze-only policies (flag: false). - */ - public function withShadowFlagged(bool $shadowFlagged): self - { - $self = clone $this; - $self['shadowFlagged'] = $shadowFlagged; - - return $self; - } - - /** - * Whether the content was flagged for Unicode spoofing. - */ - public function withUnicodeSpoofed(bool $unicodeSpoofed): self - { - $self = clone $this; - $self['unicodeSpoofed'] = $unicodeSpoofed; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Insight.php b/src/Content/ContentSubmitResponse/Insight.php deleted file mode 100644 index f783993..0000000 --- a/src/Content/ContentSubmitResponse/Insight.php +++ /dev/null @@ -1,33 +0,0 @@ -|array - */ - public static function variants(): array - { - return [SentimentInsight::class, LanguageInsight::class]; - } -} diff --git a/src/Content/ContentSubmitResponse/Insight/LanguageInsight.php b/src/Content/ContentSubmitResponse/Insight/LanguageInsight.php deleted file mode 100644 index ff8fb30..0000000 --- a/src/Content/ContentSubmitResponse/Insight/LanguageInsight.php +++ /dev/null @@ -1,108 +0,0 @@ - */ - use SdkModel; - - /** @var 'language' $id */ - #[Required] - public string $id = 'language'; - - /** @var 'insight' $type */ - #[Required] - public string $type = 'insight'; - - #[Required] - public float $probability; - - #[Required] - public ?string $value; - - /** - * `new LanguageInsight()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * LanguageInsight::with(probability: ..., value: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new LanguageInsight)->withProbability(...)->withValue(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - */ - public static function with(float $probability, ?string $value): self - { - $self = new self; - - $self['probability'] = $probability; - $self['value'] = $value; - - return $self; - } - - /** - * @param 'language' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withProbability(float $probability): self - { - $self = clone $this; - $self['probability'] = $probability; - - return $self; - } - - /** - * @param 'insight' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - public function withValue(?string $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Insight/SentimentInsight.php b/src/Content/ContentSubmitResponse/Insight/SentimentInsight.php deleted file mode 100644 index 29048f8..0000000 --- a/src/Content/ContentSubmitResponse/Insight/SentimentInsight.php +++ /dev/null @@ -1,120 +0,0 @@ -, - * } - */ -final class SentimentInsight implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var 'sentiment' $id */ - #[Required] - public string $id = 'sentiment'; - - /** @var 'insight' $type */ - #[Required] - public string $type = 'insight'; - - #[Required] - public float $probability; - - /** @var value-of|null $value */ - #[Required(enum: Value::class)] - public ?string $value; - - /** - * `new SentimentInsight()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * SentimentInsight::with(probability: ..., value: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new SentimentInsight)->withProbability(...)->withValue(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Value|value-of|null $value - */ - public static function with( - float $probability, - Value|string|null $value - ): self { - $self = new self; - - $self['probability'] = $probability; - $self['value'] = $value; - - return $self; - } - - /** - * @param 'sentiment' $id - */ - public function withID(string $id): self - { - $self = clone $this; - $self['id'] = $id; - - return $self; - } - - public function withProbability(float $probability): self - { - $self = clone $this; - $self['probability'] = $probability; - - return $self; - } - - /** - * @param 'insight' $type - */ - public function withType(string $type): self - { - $self = clone $this; - $self['type'] = $type; - - return $self; - } - - /** - * @param Value|value-of|null $value - */ - public function withValue(Value|string|null $value): self - { - $self = clone $this; - $self['value'] = $value; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Insight/SentimentInsight/Value.php b/src/Content/ContentSubmitResponse/Insight/SentimentInsight/Value.php deleted file mode 100644 index 182db72..0000000 --- a/src/Content/ContentSubmitResponse/Insight/SentimentInsight/Value.php +++ /dev/null @@ -1,14 +0,0 @@ -, - * timestamp: float, - * usage: float, - * processingTime?: string|null, - * } - */ -final class Meta implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** - * The unique key of the channel where the content was handled. Either the channel provided by you or automatically routed. - */ - #[Required('channel_key')] - public string $channelKey; - - /** @var value-of $status */ - #[Required(enum: Status::class)] - public string $status; - - #[Required] - public float $timestamp; - - #[Required] - public float $usage; - - #[Optional('processing_time')] - public ?string $processingTime; - - /** - * `new Meta()` is missing required properties by the API. - * - * To enforce required parameters use - * ``` - * Meta::with(channelKey: ..., status: ..., timestamp: ..., usage: ...) - * ``` - * - * Otherwise ensure the following setters are called - * - * ``` - * (new Meta) - * ->withChannelKey(...) - * ->withStatus(...) - * ->withTimestamp(...) - * ->withUsage(...) - * ``` - */ - public function __construct() - { - $this->initialize(); - } - - /** - * Construct an instance from the required parameters. - * - * You must use named parameters to construct any parameters with a default value. - * - * @param Status|value-of $status - */ - public static function with( - string $channelKey, - Status|string $status, - float $timestamp, - float $usage, - ?string $processingTime = null, - ): self { - $self = new self; - - $self['channelKey'] = $channelKey; - $self['status'] = $status; - $self['timestamp'] = $timestamp; - $self['usage'] = $usage; - - null !== $processingTime && $self['processingTime'] = $processingTime; - - return $self; - } - - /** - * The unique key of the channel where the content was handled. Either the channel provided by you or automatically routed. - */ - public function withChannelKey(string $channelKey): self - { - $self = clone $this; - $self['channelKey'] = $channelKey; - - return $self; - } - - /** - * @param Status|value-of $status - */ - public function withStatus(Status|string $status): self - { - $self = clone $this; - $self['status'] = $status; - - return $self; - } - - public function withTimestamp(float $timestamp): self - { - $self = clone $this; - $self['timestamp'] = $timestamp; - - return $self; - } - - public function withUsage(float $usage): self - { - $self = clone $this; - $self['usage'] = $usage; - - return $self; - } - - public function withProcessingTime(string $processingTime): self - { - $self = clone $this; - $self['processingTime'] = $processingTime; - - return $self; - } -} diff --git a/src/Content/ContentSubmitResponse/Meta/Status.php b/src/Content/ContentSubmitResponse/Meta/Status.php deleted file mode 100644 index e5e9bcf..0000000 --- a/src/Content/ContentSubmitResponse/Meta/Status.php +++ /dev/null @@ -1,12 +0,0 @@ -|array - */ - public static function variants(): array - { - return [ClassifierOutput::class, EntityMatcherOutput::class]; - } -} diff --git a/src/Content/ContentSubmitResponse/Policy/ClassifierOutput.php b/src/Content/ContentSubmitResponse/Policy/ClassifierOutput.php deleted file mode 100644 index d833c7a..0000000 --- a/src/Content/ContentSubmitResponse/Policy/ClassifierOutput.php +++ /dev/null @@ -1,192 +0,0 @@ -|null, - * flaggedFields?: list|null, - * labels?: list|null, - * } - */ -final class ClassifierOutput implements BaseModel -{ - /** @use SdkModel */ - use SdkModel; - - /** @var 'classifier' $type */ - #[Required] - public string $type = 'classifier'; - - /** - * The unique identifier for the classifier output. - */ - #[Required] - public string $id; - - #[Required] - public bool $flagged; - - #[Required] - public float $probability; - - /** - * Optional structured data produced by the policy. For face detection: { count, faces: [{ confidence, gender, age }] }. - * - * @var array|null $data - */ - #[Optional(map: 'mixed')] - public ?array $data; - - /** - * The keys of the flagged fields if submitting an object. - * - * @var list|null $flaggedFields - */ - #[Optional('flagged_fields', list: 'string')] - public ?array $flaggedFields; - - /** @var list