ExStreamClient.Operations.Moderation (ExStreamClient v0.1.0)
View SourceModules for interacting with the `moderation` group of OpenAI APIs
API Reference: https://platform.openai.com/docs/api-reference/moderation
Summary
Functions
@spec ban(ExStreamClient.Model.BanRequest.t()) :: {:ok, ExStreamClient.Model.BanResponse.t()} | {:error, any()}
Ban a user from a channel or the entire app
### Required Arguments:
- `payload`: BanRequest
@spec bulk_image_moderation(ExStreamClient.Model.BulkImageModerationRequest.t()) :: {:ok, ExStreamClient.Model.BulkImageModerationResponse.t()} | {:error, any()}
Moderate multiple images in bulk using a CSV file
### Required Arguments:
- `payload`: BulkImageModerationRequest
@spec check(ExStreamClient.Model.CheckRequest.t()) :: {:ok, ExStreamClient.Model.CheckResponse.t()} | {:error, any()}
Run moderation checks on the provided content
### Required Arguments:
- `payload`: CheckRequest
@spec custom_check(ExStreamClient.Model.CustomCheckRequest.t()) :: {:ok, ExStreamClient.Model.CustomCheckResponse.t()} | {:error, any()}
Custom check, add your own AI model reports to the review queue
### Required Arguments:
- `payload`: CustomCheckRequest
@spec delete_config(String.t(), [{:team, String.t()}]) :: {:ok, ExStreamClient.Model.DeleteModerationConfigResponse.t()} | {:error, any()}
Delete a specific moderation policy by its name
### Required Arguments:
- `key`
### Optional Arguments:
- `team`
@spec flag(ExStreamClient.Model.FlagRequest.t()) :: {:ok, ExStreamClient.Model.FlagResponse.t()} | {:error, any()}
Flag any type of content (messages, users, channels, activities) for moderation review. Supports custom content types and additional metadata for flagged content.
### Required Arguments:
- `payload`: FlagRequest
@spec get_config(String.t(), [{:team, String.t()}]) :: {:ok, ExStreamClient.Model.GetConfigResponse.t()} | {:error, any()}
Retrieve a specific moderation configuration by its key and team. This configuration contains settings for various moderation features like toxicity detection, AI analysis, and filtering rules.
### Required Arguments:
- `key`
### Optional Arguments:
- `team`
@spec get_review_queue_item(String.t()) :: {:ok, ExStreamClient.Model.GetReviewQueueItemResponse.t()} | {:error, any()}
Retrieve a specific review queue item by its ID
### Required Arguments:
- `id`
@spec mute(ExStreamClient.Model.MuteRequest.t()) :: {:ok, ExStreamClient.Model.MuteResponse.t()} | {:error, any()}
Mute a user. Mutes are generally not visible to the user you mute, while block is something you notice.
### Required Arguments:
- `payload`: MuteRequest
@spec query_moderation_configs(ExStreamClient.Model.QueryModerationConfigsRequest.t()) :: {:ok, ExStreamClient.Model.QueryModerationConfigsResponse.t()} | {:error, any()}
Search and filter moderation configurations across your application. This endpoint is designed for building moderation dashboards and managing multiple configuration sets.
### Required Arguments:
- `payload`: QueryModerationConfigsRequest
@spec query_moderation_flags(ExStreamClient.Model.QueryModerationFlagsRequest.t()) :: {:ok, ExStreamClient.Model.QueryModerationFlagsResponse.t()} | {:error, any()}
Query flags associated with moderation items. This is used for building a moderation dashboard.
### Required Arguments:
- `payload`: QueryModerationFlagsRequest
@spec query_moderation_logs(ExStreamClient.Model.QueryModerationLogsRequest.t()) :: {:ok, ExStreamClient.Model.QueryModerationLogsResponse.t()} | {:error, any()}
Search and filter moderation action logs with support for pagination. View the history of moderation actions taken, including who performed them and when.
### Required Arguments:
- `payload`: QueryModerationLogsRequest
@spec query_review_queue(ExStreamClient.Model.QueryReviewQueueRequest.t()) :: {:ok, ExStreamClient.Model.QueryReviewQueueResponse.t()} | {:error, any()}
Query review queue items allows you to filter the review queue items. This is used for building a moderation dashboard.
### Required Arguments:
- `payload`: QueryReviewQueueRequest
@spec submit_action(ExStreamClient.Model.SubmitActionRequest.t()) :: {:ok, ExStreamClient.Model.SubmitActionResponse.t()} | {:error, any()}
Take action on flagged content, such as marking content as safe, deleting content, banning users, or executing custom moderation actions. Supports various action types with configurable parameters.
### Required Arguments:
- `payload`: SubmitActionRequest
@spec unban(String.t(), ExStreamClient.Model.UnbanRequest.t(), created_by: String.t(), channel_cid: String.t() ) :: {:ok, ExStreamClient.Model.UnbanResponse.t()} | {:error, any()}
Unban a user from a channel or globally.
### Required Arguments:
- `target_user_id`
- `payload`: UnbanRequest
### Optional Arguments:
- `channel_cid`
- `created_by`
@spec unmute(ExStreamClient.Model.UnmuteRequest.t()) :: {:ok, ExStreamClient.Model.UnmuteResponse.t()} | {:error, any()}
Unmute a user
### Required Arguments:
- `payload`: UnmuteRequest
@spec upsert_config(ExStreamClient.Model.UpsertConfigRequest.t()) :: {:ok, ExStreamClient.Model.UpsertConfigResponse.t()} | {:error, any()}
Create a new moderation configuration or update an existing one. Configure settings for content filtering, AI analysis, toxicity detection, and other moderation features.
### Required Arguments:
- `payload`: UpsertConfigRequest
@spec v2_delete_template() :: {:ok, ExStreamClient.Model.DeleteModerationTemplateResponse.t()} | {:error, any()}
Delete a specific moderation template by its name
### Required Arguments:
@spec v2_query_templates() :: {:ok, ExStreamClient.Model.QueryFeedModerationTemplatesResponse.t()} | {:error, any()}
Retrieve a list of feed moderation templates that define preset moderation rules and configurations. Limited to 100 templates per request.
### Required Arguments:
@spec v2_upsert_template(ExStreamClient.Model.UpsertModerationTemplateRequest.t()) :: {:ok, ExStreamClient.Model.UpsertModerationTemplateResponse.t()} | {:error, any()}
Upsert feeds template for moderation
### Required Arguments:
- `payload`: UpsertModerationTemplateRequest