ExStreamClient.Operations.Moderation (ExStreamClient v0.1.0)

View Source
Modules for interacting with the `moderation` group of OpenAI APIs

API Reference: https://platform.openai.com/docs/api-reference/moderation

Summary

Functions

ban(payload)

Ban a user from a channel or the entire app


### Required Arguments:
    - `payload`: BanRequest

bulk_image_moderation(payload)

Moderate multiple images in bulk using a CSV file


### Required Arguments:
    - `payload`: BulkImageModerationRequest

check(payload)

Run moderation checks on the provided content


### Required Arguments:
    - `payload`: CheckRequest

custom_check(payload)

Custom check, add your own AI model reports to the review queue


### Required Arguments:
    - `payload`: CustomCheckRequest

delete_config(key, opts \\ [])

@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`

flag(payload)

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

get_config(key, opts \\ [])

@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`

get_review_queue_item(id)

@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`

mute(payload)

Mute a user. Mutes are generally not visible to the user you mute, while block is something you notice.


### Required Arguments:
    - `payload`: MuteRequest

query_moderation_configs(payload)

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

query_moderation_flags(payload)

Query flags associated with moderation items. This is used for building a moderation dashboard.


### Required Arguments:
    - `payload`: QueryModerationFlagsRequest

query_moderation_logs(payload)

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

query_review_queue(payload)

Query review queue items allows you to filter the review queue items. This is used for building a moderation dashboard.


### Required Arguments:
    - `payload`: QueryReviewQueueRequest

submit_action(payload)

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

unban(target_user_id, payload, opts \\ [])

@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`

unmute(payload)

Unmute a user


### Required Arguments:
    - `payload`: UnmuteRequest

upsert_config(payload)

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

v2_delete_template()

@spec v2_delete_template() ::
  {:ok, ExStreamClient.Model.DeleteModerationTemplateResponse.t()}
  | {:error, any()}
Delete a specific moderation template by its name


### Required Arguments:

v2_query_templates()

@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:

v2_upsert_template(payload)

Upsert feeds template for moderation


### Required Arguments:
    - `payload`: UpsertModerationTemplateRequest