Stream product:moderation API

The product:moderation API from Stream — 56 operation(s) for product:moderation.

OpenAPI Specification

stream-io-product-moderation-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Stream product:chat product:moderation API
  version: v228.3.0
servers:
- description: Stream API
  url: https://chat.stream-io-api.com
security:
- JWT: []
  api_key: []
  stream-auth-type: []
- api_key: []
  stream-auth-type: []
tags:
- name: product:moderation
paths:
  /api/v1/moderation/chat_message_tasks:
    post:
      description: 'Submits a chat message task

        '
      operationId: SubmitChatMessageTask
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitChatMessageTaskRequest'
        description: SubmitChatMessageTaskRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitChatMessageTaskResponse'
          description: SubmitChatMessageTaskResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Submit Chat Message Task
      tags:
      - product:moderation
  /api/v1/moderation/dashboard/blocked_messages:
    get:
      description: 'TODO

        '
      operationId: ListBlockedMessages
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /api/v1/moderation/dashboard/flag_feedback:
    post:
      description: 'TODO

        '
      operationId: FlagFeedback
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /api/v1/moderation/dashboard/moderation_log:
    get:
      description: 'TODO

        '
      operationId: ListModerationLogs
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /api/v1/moderation/dashboard/update_flags:
    post:
      description: 'TODO

        '
      operationId: UpdateFlags
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /api/v1/moderation/moderation/blocked_messages:
    get:
      description: 'TODO

        '
      operationId: ListBlockedMessages
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /api/v1/moderation/moderation/flag_feedback:
    post:
      description: 'TODO

        '
      operationId: FlagFeedback
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /api/v1/moderation/moderation/moderation_log:
    get:
      description: 'TODO

        '
      operationId: ListModerationLogs
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /api/v1/moderation/moderation/update_flags:
    post:
      description: 'TODO

        '
      operationId: UpdateFlags
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /api/v1/moderation/tasks:
    get:
      description: 'Lists all tasks

        '
      operationId: ListTasks
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTasksResponse'
          description: ListTasksResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: List Tasks
      tags:
      - product:moderation
    post:
      description: 'Submits a task

        '
      operationId: SubmitTask
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitTaskRequest'
        description: SubmitTaskRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitTaskResponse'
          description: SubmitTaskResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Submit Task
      tags:
      - product:moderation
  /api/v1/moderation/tasks/{id}:
    get:
      description: 'Fetches moderation task

        '
      operationId: GetTask
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: 'Task ID '
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTaskResponse'
          description: GetTaskResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Get Task
      tags:
      - product:moderation
    post:
      description: 'Updates a task

        '
      operationId: UpdateTask
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: 'Task ID '
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTaskRequest'
        description: UpdateTaskRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateTaskResponse'
          description: UpdateTaskResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Update Task
      tags:
      - product:moderation
  /automod/v1/chat_message_tasks:
    post:
      description: 'Submits a chat message task

        '
      operationId: SubmitChatMessageTask
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitChatMessageTaskRequest'
        description: SubmitChatMessageTaskRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitChatMessageTaskResponse'
          description: SubmitChatMessageTaskResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Submit Chat Message Task
      tags:
      - product:moderation
  /automod/v1/dashboard/blocked_messages:
    get:
      description: 'TODO

        '
      operationId: ListBlockedMessages
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /automod/v1/dashboard/flag_feedback:
    post:
      description: 'TODO

        '
      operationId: FlagFeedback
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /automod/v1/dashboard/moderation_log:
    get:
      description: 'TODO

        '
      operationId: ListModerationLogs
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /automod/v1/dashboard/update_flags:
    post:
      description: 'TODO

        '
      operationId: UpdateFlags
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /automod/v1/moderation/blocked_messages:
    get:
      description: 'TODO

        '
      operationId: ListBlockedMessages
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /automod/v1/moderation/flag_feedback:
    post:
      description: 'TODO

        '
      operationId: FlagFeedback
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /automod/v1/moderation/moderation_log:
    get:
      description: 'TODO

        '
      operationId: ListModerationLogs
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /automod/v1/moderation/update_flags:
    post:
      description: 'TODO

        '
      operationId: UpdateFlags
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      tags:
      - product:moderation
  /automod/v1/tasks:
    get:
      description: 'Lists all tasks

        '
      operationId: ListTasks
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTasksResponse'
          description: ListTasksResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: List Tasks
      tags:
      - product:moderation
    post:
      description: 'Submits a task

        '
      operationId: SubmitTask
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitTaskRequest'
        description: SubmitTaskRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitTaskResponse'
          description: SubmitTaskResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Submit Task
      tags:
      - product:moderation
  /automod/v1/tasks/{id}:
    get:
      description: 'Fetches moderation task

        '
      operationId: GetTask
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: 'Task ID '
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTaskResponse'
          description: GetTaskResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Get Task
      tags:
      - product:moderation
    post:
      description: 'Updates a task

        '
      operationId: UpdateTask
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: 'Task ID '
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTaskRequest'
        description: UpdateTaskRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateTaskResponse'
          description: UpdateTaskResponse
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Update Task
      tags:
      - product:moderation
  /api/v2/moderation/action_config:
    get:
      description: 'Returns moderation action configs grouped by entity type, sorted by order ascending. Supports fetching DB-configured actions, hardcoded defaults, or both.

        '
      operationId: get_action_config
      parameters:
      - in: query
        name: queue_type
        schema:
          description: Filter configs by queue type; empty returns the default queue
          title: Queue Type
          type: string
          writeOnly: true
          x-stream-index: '001'
      - in: query
        name: entity_type
        schema:
          description: Filter to a single entity type; empty returns all
          title: Entity Type
          type: string
          writeOnly: true
          x-stream-index: '002'
      - in: query
        name: exclude_defaults
        schema:
          description: Return only DB-configured actions; empty object if none exist
          title: Exclude Defaults
          type: boolean
          writeOnly: true
          x-stream-index: '003'
      - in: query
        name: only_defaults
        schema:
          description: Return hardcoded default configs without a DB query
          title: Only Defaults
          type: boolean
          writeOnly: true
          x-stream-index: '004'
      - in: query
        name: user_id
        schema:
          type: string
          writeOnly: true
          x-stream-index: '005.001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetActionConfigResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Get moderation action configs
      tags:
      - product:moderation
    post:
      description: 'Create a new moderation action config entry or update an existing one. Action configs control the action buttons displayed in the moderation dashboard for each entity type.

        '
      operationId: upsert_action_config
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertActionConfigRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpsertActionConfigResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Create or update a moderation action config
      tags:
      - product:moderation
  /api/v2/moderation/action_config/{id}:
    delete:
      description: 'Delete a specific moderation action config entry by its UUID.

        '
      operationId: delete_action_config
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: UUID of the action config to delete
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      - in: query
        name: user_id
        schema:
          description: Optional user ID to associate with the audit log entry
          title: User ID
          type: string
          writeOnly: true
          x-stream-index: '002.001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteActionConfigResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Delete a moderation action config
      tags:
      - product:moderation
  /api/v2/moderation/action_config/bulk:
    post:
      description: 'Create or update multiple moderation action config entries in a single request. Omit the ID field to create; provide an ID to update.

        '
      operationId: bulk_upsert_action_config
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpsertActionConfigRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkUpsertActionConfigResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Bulk create or update moderation action configs
      tags:
      - product:moderation
  /api/v2/moderation/action_config/bulk_delete:
    post:
      description: 'Delete multiple moderation action config entries by UUID in a single request.

        '
      operationId: bulk_delete_action_config
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDeleteActionConfigRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkDeleteActionConfigResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Bulk delete moderation action configs
      tags:
      - product:moderation
  /api/v2/moderation/action_logs:
    post:
      description: 'Insert a moderation action log entry. Server-side only. Used by product services to log moderation-related actions.

        '
      operationId: insert_action_log
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsertActionLogRequest'
        description: Insert Action Log Request
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsertActionLogResponse'
          description: Insert Action Log Response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Insert moderation action log
      tags:
      - product:moderation
  /api/v2/moderation/appeal:
    post:
      description: 'Appeal against the moderation decision

        '
      operationId: appeal
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppealRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppealResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Appeal against the moderation decision
      tags:
      - product:moderation
  /api/v2/moderation/appeal/{id}:
    get:
      description: 'Retrieve a specific appeal item by its ID

        '
      operationId: get_appeal
      parameters:
      - in: path
        name: id
        required: true
        schema:
          description: Unique identifier of the appeal item to retrieve
          title: ID
          type: string
          writeOnly: true
          x-stream-index: '001'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAppealResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Get appeal item
      tags:
      - product:moderation
  /api/v2/moderation/appeals:
    post:
      description: 'Query Appeals

        '
      operationId: query_appeals
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryAppealsRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryAppealsResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Query Appeals
      tags:
      - product:moderation
  /api/v2/moderation/ban:
    post:
      description: 'Ban a user from a channel or the entire app

        '
      operationId: ban
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BanRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BanResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Ban
      tags:
      - product:moderation
  /api/v2/moderation/bulk_image_moderation:
    post:
      description: 'Moderate multiple images in bulk using a CSV file

        '
      operationId: bulk_image_moderation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkImageModerationRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkImageModerationResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Bulk image moderation
      tags:
      - product:moderation
  /api/v2/moderation/bypass:
    post:
      description: 'Enable or disable moderation bypass for a user. This endpoint is server-side only.

        '
      operationId: bypass
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BypassRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BypassResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too many requests
      summary: Bypass Moderation
      tags:
      - product:moderation
  /api/v2/moderation/check:
    post:
      description: 'Run moderation checks on the provided content

        '
      operationId: check
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckResponse'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
  

# --- truncated at 32 KB (312 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stream-io/refs/heads/main/openapi/stream-io-product-moderation-api-openapi.yml