Browse Community Interaction

beta · api · 0.1.0

Page received reports with current moderation state

GET /api/v1/community/moderation/reports

Capability Domain: Community Interaction

Authentication

projectCredential (moderation:read)

Scope: moderation:read

Parameters and request body

  • X-Correlation-ID — header, optional
    X-Correlation-ID schema
    {
        "type": "string",
        "format": "uuid"
    }
  • resource_type — query, optional
    resource_type schema
    {
        "type": "string",
        "maxLength": 120
    }
  • resource_id — query, optional
    resource_id schema
    {
        "type": "string",
        "maxLength": 255
    }
  • limit — query, optional
    limit schema
    {
        "type": "integer",
        "minimum": 1,
        "maximum": 100,
        "default": 50
    }
  • after — query, optional
    after schema
    {
        "type": "string",
        "format": "uuid"
    }

Responses and errors

StatusDescription
200Client-isolated received report queue
401Invalid or revoked Project Credential
403Project Credential lacks the required scope
422Request violates the public contract

200 schema

200 response schema
{
    "type": "object",
    "required": [
        "data",
        "next_after"
    ],
    "properties": {
        "data": {
            "type": "array",
            "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "report_id",
                    "comment_id",
                    "resource_type",
                    "resource_id",
                    "reason",
                    "status",
                    "decision",
                    "decided_at",
                    "moderation_state",
                    "moderation_reason",
                    "created_at"
                ],
                "properties": {
                    "report_id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "comment_id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "resource_type": {
                        "type": "string"
                    },
                    "resource_id": {
                        "type": "string"
                    },
                    "reason": {
                        "type": "string",
                        "enum": [
                            "spam",
                            "harassment",
                            "hate",
                            "violence",
                            "sexual_content"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "received",
                            "resolved"
                        ]
                    },
                    "decision": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "no_action",
                            "restricted",
                            null
                        ]
                    },
                    "decided_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "moderation_state": {
                        "type": "string",
                        "enum": [
                            "visible",
                            "restricted"
                        ]
                    },
                    "moderation_reason": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "enum": [
                            "spam",
                            "harassment",
                            "hate",
                            "violence",
                            "sexual_content",
                            null
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            }
        },
        "next_after": {
            "type": [
                "string",
                "null"
            ],
            "format": "uuid"
        }
    }
}

401 schema

401 response schema
{
    "type": "object",
    "required": [
        "error"
    ],
    "properties": {
        "error": {
            "type": "object",
            "required": [
                "code",
                "message",
                "retryable",
                "correlation_id",
                "details"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "retryable": {
                    "type": "boolean"
                },
                "correlation_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "details": {
                    "type": "object"
                }
            }
        }
    }
}

403 schema

403 response schema
{
    "type": "object",
    "required": [
        "error"
    ],
    "properties": {
        "error": {
            "type": "object",
            "required": [
                "code",
                "message",
                "retryable",
                "correlation_id",
                "details"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "retryable": {
                    "type": "boolean"
                },
                "correlation_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "details": {
                    "type": "object"
                }
            }
        }
    }
}

422 schema

422 response schema
{
    "type": "object",
    "required": [
        "error"
    ],
    "properties": {
        "error": {
            "type": "object",
            "required": [
                "code",
                "message",
                "retryable",
                "correlation_id",
                "details"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "retryable": {
                    "type": "boolean"
                },
                "correlation_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "details": {
                    "type": "object"
                }
            }
        }
    }
}

200 example

200 response example
{
    "data": [
        {
            "report_id": "53000000-0000-4000-8000-000000000001",
            "comment_id": "51000000-0000-4000-8000-000000000001",
            "resource_type": "article",
            "resource_id": "article-42",
            "reason": "spam",
            "status": "received",
            "moderation_state": "restricted",
            "moderation_reason": "spam",
            "created_at": "2026-09-08T02:00:00Z"
        }
    ],
    "next_after": null
}

Idempotency

Safe read; paging the queue does not change report or moderation state.