Stream · Capability

Stream API — product:moderation

Stream API — product:moderation. 39 operations. Lead operation: Get moderation action configs. Self-contained Naftiko capability covering one Stream Io business surface.

Run with Naftiko Stream Ioproduct:moderation

What You Can Do

GET
Getactionconfig — Get moderation action configs
/v1/api/v2/moderation/action-config
POST
Upsertactionconfig — Create or update a moderation action config
/v1/api/v2/moderation/action-config
POST
Bulkupsertactionconfig — Bulk create or update moderation action configs
/v1/api/v2/moderation/action-config/bulk
POST
Bulkdeleteactionconfig — Bulk delete moderation action configs
/v1/api/v2/moderation/action-config/bulk-delete
DELETE
Deleteactionconfig — Delete a moderation action config
/v1/api/v2/moderation/action-config/{id}
POST
Insertactionlog — Insert moderation action log
/v1/api/v2/moderation/action-logs
POST
Appeal — Appeal against the moderation decision
/v1/api/v2/moderation/appeal
GET
Getappeal — Get appeal item
/v1/api/v2/moderation/appeal/{id}
POST
Queryappeals — Query Appeals
/v1/api/v2/moderation/appeals
POST
Ban — Ban
/v1/api/v2/moderation/ban
POST
Bulkimagemoderation — Bulk image moderation
/v1/api/v2/moderation/bulk-image-moderation
POST
Bypass — Bypass Moderation
/v1/api/v2/moderation/bypass
POST
Check — Check
/v1/api/v2/moderation/check
POST
Checks3access — Check S3 image access
/v1/api/v2/moderation/check-s3-access
POST
Upsertconfig — Create or update moderation configuration
/v1/api/v2/moderation/config
DELETE
Deleteconfig — Delete a moderation policy
/v1/api/v2/moderation/config/{key}
GET
Getconfig — Get moderation configuration
/v1/api/v2/moderation/config/{key}
POST
Querymoderationconfigs — Query moderation configurations
/v1/api/v2/moderation/configs
POST
Customcheck — Custom check endpoint
/v1/api/v2/moderation/custom-check
DELETE
V2deletetemplate — Delete a moderation template
/v1/api/v2/moderation/feeds-moderation-template
GET
V2querytemplates — Query feed moderation templates
/v1/api/v2/moderation/feeds-moderation-template
POST
V2upserttemplate — Upsert feeds template
/v1/api/v2/moderation/feeds-moderation-template
POST
Flag — Flag content for moderation
/v1/api/v2/moderation/flag
POST
Getflagcount — Get flag count for a user
/v1/api/v2/moderation/flag-count
POST
Querymoderationflags — Query moderation flags
/v1/api/v2/moderation/flags
POST
Labels — Labels
/v1/api/v2/moderation/labels
POST
Querylabelresults — Query label results
/v1/api/v2/moderation/labels/results
POST
Querymoderationlogs — Query moderation action logs
/v1/api/v2/moderation/logs
POST
Upsertmoderationrule — Upsert moderation rule
/v1/api/v2/moderation/moderation-rule
DELETE
Deletemoderationrule — Delete moderation rule
/v1/api/v2/moderation/moderation-rule/{id}
GET
Getmoderationrule — Get moderation rule
/v1/api/v2/moderation/moderation-rule/{id}
POST
Querymoderationrules — Query moderation rules
/v1/api/v2/moderation/moderation-rules
POST
Mute — Mute
/v1/api/v2/moderation/mute
POST
Queryreviewqueue — Query review queue items
/v1/api/v2/moderation/review-queue
GET
Getreviewqueueitem — Get review queue item
/v1/api/v2/moderation/review-queue/{id}
POST
Submitaction — Submit moderation action
/v1/api/v2/moderation/submit-action
POST
Submitmoderationfeedback — Submit moderation feedback
/v1/api/v2/moderation/submit-moderation-feedback
POST
Unban — Unban
/v1/api/v2/moderation/unban
POST
Unmute — Unmute a user
/v1/api/v2/moderation/unmute

MCP Tools

get-moderation-action-configs

Get moderation action configs

read-only idempotent
create-update-moderation-action-config

Create or update a moderation action config

bulk-create-update-moderation-action

Bulk create or update moderation action configs

bulk-delete-moderation-action-configs

Bulk delete moderation action configs

delete-moderation-action-config

Delete a moderation action config

idempotent
insert-moderation-action-log

Insert moderation action log

appeal-against-moderation-decision

Appeal against the moderation decision

get-appeal-item

Get appeal item

read-only idempotent
query-appeals

Query Appeals

read-only
ban

Ban

bulk-image-moderation

Bulk image moderation

bypass-moderation

Bypass Moderation

check

Check

check-s3-image-access

Check S3 image access

read-only
create-update-moderation-configuration

Create or update moderation configuration

delete-moderation-policy

Delete a moderation policy

idempotent
get-moderation-configuration

Get moderation configuration

read-only idempotent
query-moderation-configurations

Query moderation configurations

read-only
custom-check-endpoint

Custom check endpoint

read-only
delete-moderation-template

Delete a moderation template

idempotent
query-feed-moderation-templates

Query feed moderation templates

read-only idempotent
upsert-feeds-template

Upsert feeds template

flag-content-moderation

Flag content for moderation

get-flag-count-user

Get flag count for a user

read-only
query-moderation-flags

Query moderation flags

read-only
labels

Labels

query-label-results

Query label results

read-only
query-moderation-action-logs

Query moderation action logs

read-only
upsert-moderation-rule

Upsert moderation rule

delete-moderation-rule

Delete moderation rule

idempotent
get-moderation-rule

Get moderation rule

read-only idempotent
query-moderation-rules

Query moderation rules

read-only
mute

Mute

query-review-queue-items

Query review queue items

read-only
get-review-queue-item

Get review queue item

read-only idempotent
submit-moderation-action

Submit moderation action

submit-moderation-feedback

Submit moderation feedback

unban

Unban

unmute-user

Unmute a user

Capability Spec

serverside-product-moderation.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Stream API — product:moderation
  description: 'Stream API — product:moderation. 39 operations. Lead operation: Get moderation action configs. Self-contained
    Naftiko capability covering one Stream Io business surface.'
  tags:
  - Stream Io
  - product:moderation
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    STREAM_IO_API_KEY: STREAM_IO_API_KEY
capability:
  consumes:
  - type: http
    namespace: serverside-product-moderation
    baseUri: https://chat.stream-io-api.com
    description: Stream API — product:moderation business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-moderation-action_config
      path: /api/v2/moderation/action_config
      operations:
      - name: getactionconfig
        method: GET
        description: Get moderation action configs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: queue_type
          in: query
          type: string
        - name: entity_type
          in: query
          type: string
        - name: exclude_defaults
          in: query
          type: boolean
        - name: only_defaults
          in: query
          type: boolean
        - name: user_id
          in: query
          type: string
      - name: upsertactionconfig
        method: POST
        description: Create or update a moderation action config
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-action_config-bulk
      path: /api/v2/moderation/action_config/bulk
      operations:
      - name: bulkupsertactionconfig
        method: POST
        description: Bulk create or update moderation action configs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-action_config-bulk_delete
      path: /api/v2/moderation/action_config/bulk_delete
      operations:
      - name: bulkdeleteactionconfig
        method: POST
        description: Bulk delete moderation action configs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-action_config-id
      path: /api/v2/moderation/action_config/{id}
      operations:
      - name: deleteactionconfig
        method: DELETE
        description: Delete a moderation action config
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: user_id
          in: query
          type: string
    - name: api-v2-moderation-action_logs
      path: /api/v2/moderation/action_logs
      operations:
      - name: insertactionlog
        method: POST
        description: Insert moderation action log
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-appeal
      path: /api/v2/moderation/appeal
      operations:
      - name: appeal
        method: POST
        description: Appeal against the moderation decision
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-appeal-id
      path: /api/v2/moderation/appeal/{id}
      operations:
      - name: getappeal
        method: GET
        description: Get appeal item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: api-v2-moderation-appeals
      path: /api/v2/moderation/appeals
      operations:
      - name: queryappeals
        method: POST
        description: Query Appeals
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-ban
      path: /api/v2/moderation/ban
      operations:
      - name: ban
        method: POST
        description: Ban
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-bulk_image_moderation
      path: /api/v2/moderation/bulk_image_moderation
      operations:
      - name: bulkimagemoderation
        method: POST
        description: Bulk image moderation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-bypass
      path: /api/v2/moderation/bypass
      operations:
      - name: bypass
        method: POST
        description: Bypass Moderation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-check
      path: /api/v2/moderation/check
      operations:
      - name: check
        method: POST
        description: Check
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-check_s3_access
      path: /api/v2/moderation/check_s3_access
      operations:
      - name: checks3access
        method: POST
        description: Check S3 image access
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-config
      path: /api/v2/moderation/config
      operations:
      - name: upsertconfig
        method: POST
        description: Create or update moderation configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-config-key
      path: /api/v2/moderation/config/{key}
      operations:
      - name: deleteconfig
        method: DELETE
        description: Delete a moderation policy
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
        - name: team
          in: query
          type: string
        - name: user_id
          in: query
          type: string
      - name: getconfig
        method: GET
        description: Get moderation configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
        - name: team
          in: query
          type: string
    - name: api-v2-moderation-configs
      path: /api/v2/moderation/configs
      operations:
      - name: querymoderationconfigs
        method: POST
        description: Query moderation configurations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-custom_check
      path: /api/v2/moderation/custom_check
      operations:
      - name: customcheck
        method: POST
        description: Custom check endpoint
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-feeds_moderation_template
      path: /api/v2/moderation/feeds_moderation_template
      operations:
      - name: v2deletetemplate
        method: DELETE
        description: Delete a moderation template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: v2querytemplates
        method: GET
        description: Query feed moderation templates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: v2upserttemplate
        method: POST
        description: Upsert feeds template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-flag
      path: /api/v2/moderation/flag
      operations:
      - name: flag
        method: POST
        description: Flag content for moderation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-flag_count
      path: /api/v2/moderation/flag_count
      operations:
      - name: getflagcount
        method: POST
        description: Get flag count for a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-flags
      path: /api/v2/moderation/flags
      operations:
      - name: querymoderationflags
        method: POST
        description: Query moderation flags
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-labels
      path: /api/v2/moderation/labels
      operations:
      - name: labels
        method: POST
        description: Labels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-labels-results
      path: /api/v2/moderation/labels/results
      operations:
      - name: querylabelresults
        method: POST
        description: Query label results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-logs
      path: /api/v2/moderation/logs
      operations:
      - name: querymoderationlogs
        method: POST
        description: Query moderation action logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-moderation_rule
      path: /api/v2/moderation/moderation_rule
      operations:
      - name: upsertmoderationrule
        method: POST
        description: Upsert moderation rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-moderation_rule-id
      path: /api/v2/moderation/moderation_rule/{id}
      operations:
      - name: deletemoderationrule
        method: DELETE
        description: Delete moderation rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_id
          in: query
          type: string
      - name: getmoderationrule
        method: GET
        description: Get moderation rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-moderation-moderation_rules
      path: /api/v2/moderation/moderation_rules
      operations:
      - name: querymoderationrules
        method: POST
        description: Query moderation rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-mute
      path: /api/v2/moderation/mute
      operations:
      - name: mute
        method: POST
        description: Mute
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-review_queue
      path: /api/v2/moderation/review_queue
      operations:
      - name: queryreviewqueue
        method: POST
        description: Query review queue items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-review_queue-id
      path: /api/v2/moderation/review_queue/{id}
      operations:
      - name: getreviewqueueitem
        method: GET
        description: Get review queue item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: api-v2-moderation-submit_action
      path: /api/v2/moderation/submit_action
      operations:
      - name: submitaction
        method: POST
        description: Submit moderation action
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-submit_moderation_feedback
      path: /api/v2/moderation/submit_moderation_feedback
      operations:
      - name: submitmoderationfeedback
        method: POST
        description: Submit moderation feedback
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-unban
      path: /api/v2/moderation/unban
      operations:
      - name: unban
        method: POST
        description: Unban
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: target_user_id
          in: query
          type: string
          required: true
        - name: channel_cid
          in: query
          type: string
        - name: created_by
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-moderation-unmute
      path: /api/v2/moderation/unmute
      operations:
      - name: unmute
        method: POST
        description: Unmute a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.STREAM_IO_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: serverside-product-moderation-rest
    port: 8080
    description: REST adapter for Stream API — product:moderation. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/v2/moderation/action-config
      name: api-v2-moderation-action-config
      description: REST surface for api-v2-moderation-action_config.
      operations:
      - method: GET
        name: getactionconfig
        description: Get moderation action configs
        call: serverside-product-moderation.getactionconfig
        with:
          queue_type: rest.queue_type
          entity_type: rest.entity_type
          exclude_defaults: rest.exclude_defaults
          only_defaults: rest.only_defaults
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: upsertactionconfig
        description: Create or update a moderation action config
        call: serverside-product-moderation.upsertactionconfig
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/action-config/bulk
      name: api-v2-moderation-action-config-bulk
      description: REST surface for api-v2-moderation-action_config-bulk.
      operations:
      - method: POST
        name: bulkupsertactionconfig
        description: Bulk create or update moderation action configs
        call: serverside-product-moderation.bulkupsertactionconfig
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/action-config/bulk-delete
      name: api-v2-moderation-action-config-bulk-delete
      description: REST surface for api-v2-moderation-action_config-bulk_delete.
      operations:
      - method: POST
        name: bulkdeleteactionconfig
        description: Bulk delete moderation action configs
        call: serverside-product-moderation.bulkdeleteactionconfig
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/action-config/{id}
      name: api-v2-moderation-action-config-id
      description: REST surface for api-v2-moderation-action_config-id.
      operations:
      - method: DELETE
        name: deleteactionconfig
        description: Delete a moderation action config
        call: serverside-product-moderation.deleteactionconfig
        with:
          id: rest.id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/action-logs
      name: api-v2-moderation-action-logs
      description: REST surface for api-v2-moderation-action_logs.
      operations:
      - method: POST
        name: insertactionlog
        description: Insert moderation action log
        call: serverside-product-moderation.insertactionlog
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/appeal
      name: api-v2-moderation-appeal
      description: REST surface for api-v2-moderation-appeal.
      operations:
      - method: POST
        name: appeal
        description: Appeal against the moderation decision
        call: serverside-product-moderation.appeal
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/appeal/{id}
      name: api-v2-moderation-appeal-id
      description: REST surface for api-v2-moderation-appeal-id.
      operations:
      - method: GET
        name: getappeal
        description: Get appeal item
        call: serverside-product-moderation.getappeal
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/appeals
      name: api-v2-moderation-appeals
      description: REST surface for api-v2-moderation-appeals.
      operations:
      - method: POST
        name: queryappeals
        description: Query Appeals
        call: serverside-product-moderation.queryappeals
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/ban
      name: api-v2-moderation-ban
      description: REST surface for api-v2-moderation-ban.
      operations:
      - method: POST
        name: ban
        description: Ban
        call: serverside-product-moderation.ban
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/bulk-image-moderation
      name: api-v2-moderation-bulk-image-moderation
      description: REST surface for api-v2-moderation-bulk_image_moderation.
      operations:
      - method: POST
        name: bulkimagemoderation
        description: Bulk image moderation
        call: serverside-product-moderation.bulkimagemoderation
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/bypass
      name: api-v2-moderation-bypass
      description: REST surface for api-v2-moderation-bypass.
      operations:
      - method: POST
        name: bypass
        description: Bypass Moderation
        call: serverside-product-moderation.bypass
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/check
      name: api-v2-moderation-check
      description: REST surface for api-v2-moderation-check.
      operations:
      - method: POST
        name: check
        description: Check
        call: serverside-product-moderation.check
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/check-s3-access
      name: api-v2-moderation-check-s3-access
      description: REST surface for api-v2-moderation-check_s3_access.
      operations:
      - method: POST
        name: checks3access
        description: Check S3 image access
        call: serverside-product-moderation.checks3access
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/config
      name: api-v2-moderation-config
      description: REST surface for api-v2-moderation-config.
      operations:
      - method: POST
        name: upsertconfig
        description: Create or update moderation configuration
        call: serverside-product-moderation.upsertconfig
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/config/{key}
      name: api-v2-moderation-config-key
      description: REST surface for api-v2-moderation-config-key.
      operations:
      - method: DELETE
        name: deleteconfig
        description: Delete a moderation policy
        call: serverside-product-moderation.deleteconfig
        with:
          key: rest.key
          team: rest.team
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getconfig
        description: Get moderation configuration
        call: serverside-product-moderation.getconfig
        with:
          key: rest.key
          team: rest.team
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/configs
      name: api-v2-moderation-configs
      description: REST surface for api-v2-moderation-configs.
      operations:
      - method: POST
        name: querymoderationconfigs
        description: Query moderation configurations
        call: serverside-product-moderation.querymoderationconfigs
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/custom-check
      name: api-v2-moderation-custom-check
      description: REST surface for api-v2-moderation-custom_check.
      operations:
      - method: POST
        name: customcheck
        description: Custom check endpoint
        call: serverside-product-moderation.customcheck
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/feeds-moderation-template
      name: api-v2-moderation-feeds-moderation-template
      description: REST surface for api-v2-moderation-feeds_moderation_template.
      operations:
      - method: DELETE
        name: v2deletetemplate
        description: Delete a moderation template
        call: serverside-product-moderation.v2deletetemplate
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: v2querytemplates
        description: Query feed moderation templates
        call: serverside-product-moderation.v2querytemplates
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: v2upserttemplate
        description: Upsert feeds template
        call: serverside-product-moderation.v2upserttemplate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/flag
      name: api-v2-moderation-flag
      description: REST surface for api-v2-moderation-flag.
      operations:
      - method: POST
        name: flag
        description: Flag content for moderation
        call: serverside-product-moderation.flag
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/flag-count
      name: api-v2-moderation-flag-count
      description: REST surface for api-v2-moderation-flag_count.
      operations:
      - method: POST
        name: getflagcount
        description: Get flag count for a user
        call: serverside-product-moderation.getflagcount
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/flags
      name: api-v2-moderation-flags
      description: REST surface for api-v2-moderation-flags.
      operations:
      - method: POST
        name: querymoderationflags
        description: Query moderation flags
        call: serverside-product-moderation.querymoderationflags
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/labels
      name: api-v2-moderation-labels
      description: REST surface for api-v2-moderation-labels.
      operations:
      - method: POST
        name: labels
        description: Labels
        call: serverside-product-moderation.labels
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/labels/results
      name: api-v2-moderation-labels-results
      description: REST surface for api-v2-moderation-labels-results.
      operations:
      - method: POST
        name: querylabelresults
        description: Query label results
        call: serverside-product-moderation.querylabelresults
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/logs
      name: api-v2-moderation-logs
      description: REST surface for api-v2-moderation-logs.
      operations:
      - method: POST
        name: querymoderationlogs
        description: Query moderation action logs
        call: serverside-product-moderation.querymoderationlogs
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/moderation-rule
      name: api-v2-moderation-moderation-rule
      description: REST surface for api-v2-moderation-moderation_rule.
      operations:
      - method: POST
        name: upsertmoderationrule
        description: Upsert moderation rule
        call: serverside-product-moderation.upsertmoderationrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/moderation-rule/{id}
      name: api-v2-moderation-moderation-rule-id
      description: REST surface for api-v2-moderation-moderation_rule-id.
      operations:
      - method: DELETE
        name: deletemoderationrule
        description: Delete moderation rule
        call: serverside-product-moderation.deletemoderationrule
        with:
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getmoderationrule
        description: Get moderation rule
        call: serverside-product-moderation.getmoderationrule
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/moderation-rules
      name: api-v2-moderation-moderation-rules
      description: REST surface for api-v2-moderation-moderation_rules.
      operations:
      - method: POST
        name: querymoderationrules
        description: Query moderation rules
        call: serverside-product-moderation.querymoderationrules
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/moderation/mute
      name: api-v2-moderation-mute
      description: REST surface for api-v2-moderation-mute.
      operations:
      - method: POST
        name

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stream-io/refs/heads/main/capabilities/serverside-product-moderation.yaml