# app.tempomusic.staff.listReports

> Published by [lexicons.tempomusic.fan](https://lexicon.garden/identity/did:plc:pxsuqmultto34oks44m2lgxm)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:pxsuqmultto34oks44m2lgxm/app.tempomusic.staff.listReports)
- [Documentation](https://lexicon.garden/lexicon/did:plc:pxsuqmultto34oks44m2lgxm/app.tempomusic.staff.listReports/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:pxsuqmultto34oks44m2lgxm/app.tempomusic.staff.listReports/examples)

## Definitions

### `app.tempomusic.staff.listReports`

**Type**: `query`

Cursored listing of moderation reports for the queue view. Filterable by status, subject type, reason, reporter, and subject author. Sorted by (created_at DESC, id DESC). Requires the caller to be an active moderator (any role).

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `limit` | `integer` | No |  |
| `cursor` | `string` | No | Opaque pagination cursor returned by a previous call. |
| `status` | `string` | No | Filter reports to a single status. Wire values of app.tempomusic.staff.defs#reportStatus, inlined because lexicon `params` cannot use `ref`. Omit to return all statuses. |
| `reasonType` | `string` | No | Wire values of app.tempomusic.moderation.defs#reasonType, inlined because lexicon `params` cannot use `ref`. |
| `subjectDid` | `string` (did) | No | Filter to reports against this actor DID, via the reports.subject_did denormalization: matches both account-subject reports targeting this DID AND post/reply-subject reports against content authored by this DID. |
| `subjectUri` | `string` (at-uri) | No | Filter to reports filed against this exact post/reply at-uri (reports.subject_uri). Complements subjectDid for the report-detail cross-link: every report on the same subject. |
| `reporterDid` | `string` (did) | No |  |
| `subjectType` | `string` | No | Filter to a single subject type. |
| `createdAfter` | `string` (datetime) | No |  |
| `createdBefore` | `string` (datetime) | No |  |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `items` | `array` | Yes |  |
| `cursor` | `string` | No |  |

#### Errors

- **Forbidden**: Caller is not an active moderator.
- **InvalidCursor**: The cursor parameter was malformed or referenced state inconsistent with the rest of the filter set.

## Raw Schema

```json
{
  "id": "app.tempomusic.staff.listReports",
  "defs": {
    "main": {
      "type": "query",
      "errors": [
        {
          "name": "Forbidden",
          "description": "Caller is not an active moderator."
        },
        {
          "name": "InvalidCursor",
          "description": "The cursor parameter was malformed or referenced state inconsistent with the rest of the filter set."
        }
      ],
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "items"
          ],
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "ref": "app.tempomusic.staff.defs#reportView",
                "type": "ref"
              }
            },
            "cursor": {
              "type": "string",
              "maxLength": 1024
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "default": 50,
            "maximum": 100,
            "minimum": 1
          },
          "cursor": {
            "type": "string",
            "maxLength": 1024,
            "description": "Opaque pagination cursor returned by a previous call."
          },
          "status": {
            "type": "string",
            "maxLength": 100,
            "description": "Filter reports to a single status. Wire values of app.tempomusic.staff.defs#reportStatus, inlined because lexicon `params` cannot use `ref`. Omit to return all statuses.",
            "knownValues": [
              "open",
              "underReview",
              "actioned",
              "dismissed"
            ]
          },
          "reasonType": {
            "type": "string",
            "maxLength": 100,
            "description": "Wire values of app.tempomusic.moderation.defs#reasonType, inlined because lexicon `params` cannot use `ref`.",
            "knownValues": [
              "copyright",
              "impersonation",
              "spam",
              "harassment",
              "sexual",
              "violence",
              "selfHarm",
              "misinformation",
              "other"
            ]
          },
          "subjectDid": {
            "type": "string",
            "format": "did",
            "description": "Filter to reports against this actor DID, via the reports.subject_did denormalization: matches both account-subject reports targeting this DID AND post/reply-subject reports against content authored by this DID."
          },
          "subjectUri": {
            "type": "string",
            "format": "at-uri",
            "description": "Filter to reports filed against this exact post/reply at-uri (reports.subject_uri). Complements subjectDid for the report-detail cross-link: every report on the same subject."
          },
          "reporterDid": {
            "type": "string",
            "format": "did"
          },
          "subjectType": {
            "type": "string",
            "maxLength": 100,
            "description": "Filter to a single subject type.",
            "knownValues": [
              "post",
              "reply",
              "account"
            ]
          },
          "createdAfter": {
            "type": "string",
            "format": "datetime"
          },
          "createdBefore": {
            "type": "string",
            "format": "datetime"
          }
        }
      },
      "description": "Cursored listing of moderation reports for the queue view. Filterable by status, subject type, reason, reporter, and subject author. Sorted by (created_at DESC, id DESC). Requires the caller to be an active moderator (any role)."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
