---
title: "PATCH /api/moderate-comments/{commentId}"
method: PATCH
path: "/api/moderate-comments/{commentId}"
tags: ["comments"]
---

# PATCH /api/moderate-comments/{commentId}

`PATCH /api/moderate-comments/{commentId}`

Change the moderation status of a comment

## Path parameters

- `commentId` string, required — The ID of the comment to moderate

## Request body

- object
  - `revision` integer — The revision of the comment. If omitted it will update the latest revision and all older pending revisions.
  - `moderationStatus` 'approved' | 'rejected' | 'pending', required — The moderation status of the comment

## Response `200`

Comment with moderation status changed

- object
  - `app` string, required — Hex format string, e.g. `0x1234567890abcdef`
  - `author` object, required
    - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
    - `ens` object
      - `name` string, required
      - `avatarUrl` string, nullable, required
    - `farcaster` object
      - `fid` integer, required
      - `pfpUrl` string
      - `displayName` string
      - `username` string, required
  - `id` string, required — Hex format string, e.g. `0x1234567890abcdef`
  - `channelId` string, required
  - `commentType` integer, required
  - `content` string, required
  - `chainId` integer, required
  - `deletedAt` string, nullable, required
  - `logIndex` integer, nullable, required
  - `metadata` object[], required
    - `key` string, required — Hex format string, e.g. `0x1234567890abcdef`
    - `value` string, required — Hex format string, e.g. `0x1234567890abcdef`
  - `hookMetadata` object[], required
    - `key` string, required — Hex format string, e.g. `0x1234567890abcdef`
    - `value` string, required — Hex format string, e.g. `0x1234567890abcdef`
  - `parentId` string, nullable, required — Hex format string, e.g. `0x1234567890abcdef`
  - `targetUri` string, required
  - `txHash` string, required — Hex format string, e.g. `0x1234567890abcdef`
  - `cursor` string, required — Hex format string, e.g. `0x1234567890abcdef`
  - `moderationStatus` 'approved' | 'rejected' | 'pending', required
  - `moderationStatusChangedAt` string, nullable, required
  - `moderationClassifierResult` object, required
  - `moderationClassifierScore` number, required
  - `createdAt` string, nullable, required
  - `updatedAt` string, nullable, required
  - `revision` integer, required
  - `zeroExSwap` object, nullable, required
    - `from` object, required
      - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
      - `amount` string, required
      - `symbol` string, required
    - `to` object, required
      - `address` union, required — Hex format string, e.g. `0x1234567890abcdef`
        - string — Hex format string, e.g. `0x1234567890abcdef`
        - ''
      - `amount` union, required
        - string
        - ''
      - `symbol` string, required
  - `references` union[], required
    - union
      - object
        - `type` 'ens', required
        - `avatarUrl` string, nullable, required
        - `name` string, required
        - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
        - `position` object, required
          - `start` integer, required
          - `end` integer, required
        - `url` string, uri, required
      - object
        - `type` 'erc20', required
        - `symbol` string, required
        - `logoURI` string, nullable, required
        - `name` string, required
        - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
        - `decimals` integer, required
        - `position` object, required
          - `start` integer, required
          - `end` integer, required
        - `chainId` integer, nullable, required
        - `chains` object[], required
          - `caip` string, required
          - `chainId` integer, required
      - object
        - `type` 'farcaster', required
        - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
        - `fid` integer, required
        - `fname` string, required
        - `username` string, required
        - `displayName` string, nullable, required
        - `pfpUrl` string, nullable, required
        - `position` object, required
          - `start` integer, required
          - `end` integer, required
        - `url` string, uri, required
      - object
        - `type` 'webpage', required
        - `url` string, uri, required
        - `position` object, required
          - `start` integer, required
          - `end` integer, required
        - `title` string, required
        - `description` string, nullable, required
        - `favicon` string, uri, nullable, required
        - `opengraph` object, nullable, required
          - `title` string, required
          - `description` string, nullable, required
          - `image` string, uri, required
          - `url` string, uri, required
        - `mediaType` string, required
      - object
        - `type` 'file', required
        - `url` string, uri, required
        - `position` object, required
          - `start` integer, required
          - `end` integer, required
        - `mediaType` string, required
      - object
        - `type` 'image', required
        - `url` string, uri, required
        - `position` object, required
          - `start` integer, required
          - `end` integer, required
        - `mediaType` string, required
        - `dimension` object
          - `width` integer, required
          - `height` integer, required
      - object
        - `type` 'video', required
        - `url` string, uri, required
        - `position` object, required
          - `start` integer, required
          - `end` integer, required
        - `mediaType` string, required
        - `videoTracks` object[]
          - `dimension` object, required
            - `width` integer, required
            - `height` integer, required
          - `codec` string
      - object
        - `type` 'quoted_comment', required
        - `id` string, required — Hex format string, e.g. `0x1234567890abcdef`
        - `chainId` integer, required
        - `position` object, required
          - `start` integer, required
          - `end` integer, required
      - unknown
      - unknown
  - `path` string, required
  - `viewerReactions` object, required
  - `reactionCounts` object, required
  - `replies` object, required
    - `extra` object, required
      - `moderationEnabled` boolean, required
      - `moderationKnownReactions` string[], required
    - `pagination` object, required
      - `limit` integer, required
      - `hasNext` boolean, required
      - `hasPrevious` boolean, required
      - `startCursor` string — Hex format string, e.g. `0x1234567890abcdef`
      - `endCursor` string — Hex format string, e.g. `0x1234567890abcdef`
      - `count` integer, required
    - `results` object[], required
      - `app` string, required — Hex format string, e.g. `0x1234567890abcdef`
      - `author` object, required
        - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
        - `ens` object
          - `name` string, required
          - `avatarUrl` string, nullable, required
        - `farcaster` object
          - `fid` integer, required
          - `pfpUrl` string
          - `displayName` string
          - `username` string, required
      - `id` string, required — Hex format string, e.g. `0x1234567890abcdef`
      - `channelId` string, required
      - `commentType` integer, required
      - `content` string, required
      - `chainId` integer, required
      - `deletedAt` string, nullable, required
      - `logIndex` integer, nullable, required
      - `metadata` object[], required
        - `key` string, required — Hex format string, e.g. `0x1234567890abcdef`
        - `value` string, required — Hex format string, e.g. `0x1234567890abcdef`
      - `hookMetadata` object[], required
        - `key` string, required — Hex format string, e.g. `0x1234567890abcdef`
        - `value` string, required — Hex format string, e.g. `0x1234567890abcdef`
      - `parentId` string, nullable, required — Hex format string, e.g. `0x1234567890abcdef`
      - `targetUri` string, required
      - `txHash` string, required — Hex format string, e.g. `0x1234567890abcdef`
      - `cursor` string, required — Hex format string, e.g. `0x1234567890abcdef`
      - `moderationStatus` 'approved' | 'rejected' | 'pending', required
      - `moderationStatusChangedAt` string, nullable, required
      - `moderationClassifierResult` object, required
      - `moderationClassifierScore` number, required
      - `createdAt` string, nullable, required
      - `updatedAt` string, nullable, required
      - `revision` integer, required
      - `zeroExSwap` object, nullable, required
        - `from` object, required
          - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
          - `amount` string, required
          - `symbol` string, required
        - `to` object, required
          - `address` union, required — Hex format string, e.g. `0x1234567890abcdef`
            - string — Hex format string, e.g. `0x1234567890abcdef`
            - ''
          - `amount` union, required
            - string
            - ''
          - `symbol` string, required
      - `references` union[], required
        - union
          - object
            - `type` 'ens', required
            - `avatarUrl` string, nullable, required
            - `name` string, required
            - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
            - `position` object, required
              - …
            - `url` string, uri, required
          - object
            - `type` 'erc20', required
            - `symbol` string, required
            - `logoURI` string, nullable, required
            - `name` string, required
            - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
            - `decimals` integer, required
            - `position` object, required
              - …
            - `chainId` integer, nullable, required
            - `chains` object[], required
              - …
          - object
            - `type` 'farcaster', required
            - `address` string, required — Hex format string, e.g. `0x1234567890abcdef`
            - `fid` integer, required
            - `fname` string, required
            - `username` string, required
            - `displayName` string, nullable, required
            - `pfpUrl` string, nullable, required
            - `position` object, required
              - …
            - `url` string, uri, required
          - object
            - `type` 'webpage', required
            - `url` string, uri, required
            - `position` object, required
              - …
            - `title` string, required
            - `description` string, nullable, required
            - `favicon` string, uri, nullable, required
            - `opengraph` object, nullable, required
              - …
            - `mediaType` string, required
          - object
            - `type` 'file', required
            - `url` string, uri, required
            - `position` object, required
              - …
            - `mediaType` string, required
          - object
            - `type` 'image', required
            - `url` string, uri, required
            - `position` object, required
              - …
            - `mediaType` string, required
            - `dimension` object
              - …
          - object
            - `type` 'video', required
            - `url` string, uri, required
            - `position` object, required
              - …
            - `mediaType` string, required
            - `videoTracks` object[]
              - …
          - object
            - `type` 'quoted_comment', required
            - `id` string, required — Hex format string, e.g. `0x1234567890abcdef`
            - `chainId` integer, required
            - `position` object, required
              - …
          - unknown
          - unknown
      - `path` string, required
      - `viewerReactions` object, required
      - `reactionCounts` object, required
      - `replies` object, required
        - `extra` object, required
          - `moderationEnabled` boolean, required
          - `moderationKnownReactions` string[], required
        - `pagination` object, required
          - `limit` integer, required
          - `hasNext` boolean, required
          - `hasPrevious` boolean, required
          - `startCursor` string — Hex format string, e.g. `0x1234567890abcdef`
          - `endCursor` string — Hex format string, e.g. `0x1234567890abcdef`
          - `count` integer, required
        - `results` unknown[], required
          - unknown

## Other responses

- `400` — Bad request
- `401` — When user is not authenticated
- `404` — When comment is not found

## Changes

- **2026-08-10** `fc5aae1cdc03` — 2 breaking, 56 info
  - the `replies/results/items/` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - the `viewerReactions/additionalProperties/items/` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - added the required property `replies/results/items/app` to the response with the `200` status
  - added the required property `replies/results/items/author` to the response with the `200` status
  - …54 more

[Change history](https://skmtc.dev/ethcomments/apis/ethereum-comments-protocol-indexer-api/changes/api/moderate-comments/:commentId/patch.md)

---

[API](https://skmtc.dev/ethcomments/apis/ethereum-comments-protocol-indexer-api.md) · [All operations](https://skmtc.dev/ethcomments/apis/ethereum-comments-protocol-indexer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ethcomments/ethereum-comments-protocol-indexer-api/revisions/fc5aae1cdc03/schema)
