# Reports Extension

Reports content to the moderators or administrators of a remote instance for review.

Extension name: `pub.versia:reports`

The Reports extension sends content to the moderators or administrators of a remote instance for review.

## Definition

- Type: `"pub.versia:reports/Report"`
- Lifetime: [Transient Entity](/entities#transient-entities)

**Fields**

- `type` (`string`, required): **MUST** be `pub.versia:reports/Report`.

- `author` (`Reference`): [Reference](/entities#reference) to the reporting [User](/entities/user). Optional if the report is anonymous. A report without an `author` can only be attributed to the instance that signed it.

- `reported` (`ReportedEntity[]`, required): The entities being reported.

  - `type` (`string`, required): Type of the entity being reported, such as `User` or `pub.versia:social/Note`.
  - `reference` (`Reference`, required): [Reference](/entities#reference) to the entity being reported.

- `tags` (`string[]`, required): Report tags, such as `spam`, `harassment` or `misinformation`. Used for categorization.

- `comment` (`string`): Additional comments about the report. Can be used to provide more context or details.

Inherited from [Entity](/entities):

- [`created_at`](/entities#entity-created-at) (`RFC3339`, required)
- [`extensions`](/entities#entity-extensions) (`Extensions`)

```jsonc title="Example Report"
{
    "type": "pub.versia:reports/Report",
    "created_at": "2021-01-01T00:00:00Z",
    "author": "example.com:034w9tbd3p002",
    "reported": [
        {
            "type": "User",
            "reference": "example.org:033fyg767j000"
        },
        {
            "type": "pub.versia:social/Note",
            "reference": "example.org:0342tszbjj005"
        }
    ],
    "tags": [
        "spam",
        "harassment"
    ],
    "comment": "This is spam."
}
```

## Behavior

When an instance receives a report, it **SHOULD** be reviewed by a moderator or administrator.

## Delivery and Access

A Report is [delivered](/federation#delivery) to the instances the reporter's instance chooses.
