# town.delve.labeler.defs

> Published by [delve.town](https://lexicon.garden/identity/did:plc:qzqct2rrq4u2gmy5g3mjxske)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:qzqct2rrq4u2gmy5g3mjxske/town.delve.labeler.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:qzqct2rrq4u2gmy5g3mjxske/town.delve.labeler.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:qzqct2rrq4u2gmy5g3mjxske/town.delve.labeler.defs/examples)

## Definitions

### `town.delve.labeler.defs#labelerPolicies`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `labelValueDefinitions` | `array` | No | Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler. |
| `labelValues` | `array` | Yes | The label values which this labeler publishes. May include global or custom labels. |

### `town.delve.labeler.defs#labelerView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `creator` | `ref` → `town.delve.actor.defs#profileView` | Yes |  |
| `indexedAt` | `string` (datetime) | Yes |  |
| `labels` | `array` | No |  |
| `likeCount` | `integer` | No |  |
| `uri` | `string` (at-uri) | Yes |  |
| `viewer` | `ref` → `#labelerViewerState` | No |  |

### `town.delve.labeler.defs#labelerViewDetailed`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `creator` | `ref` → `town.delve.actor.defs#profileView` | Yes |  |
| `indexedAt` | `string` (datetime) | Yes |  |
| `labels` | `array` | No |  |
| `likeCount` | `integer` | No |  |
| `policies` | `ref` → `town.delve.labeler.defs#labelerPolicies` | Yes |  |
| `reasonTypes` | `array` | No | The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed. |
| `subjectCollections` | `array` | No | Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type. |
| `subjectTypes` | `array` | No | The set of subject types (account, record, etc) this service accepts reports on. |
| `uri` | `string` (at-uri) | Yes |  |
| `viewer` | `ref` → `#labelerViewerState` | No |  |

### `town.delve.labeler.defs#labelerViewerState`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `like` | `string` (at-uri) | No |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "labelerPolicies": {
      "properties": {
        "labelValueDefinitions": {
          "description": "Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler.",
          "items": {
            "ref": "com.atproto.label.defs#labelValueDefinition",
            "type": "ref"
          },
          "type": "array"
        },
        "labelValues": {
          "description": "The label values which this labeler publishes. May include global or custom labels.",
          "items": {
            "ref": "com.atproto.label.defs#labelValue",
            "type": "ref"
          },
          "type": "array"
        }
      },
      "required": [
        "labelValues"
      ],
      "type": "object"
    },
    "labelerView": {
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "creator": {
          "ref": "town.delve.actor.defs#profileView",
          "type": "ref"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "labels": {
          "items": {
            "ref": "com.atproto.label.defs#label",
            "type": "ref"
          },
          "type": "array"
        },
        "likeCount": {
          "minimum": 0,
          "type": "integer"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        },
        "viewer": {
          "ref": "#labelerViewerState",
          "type": "ref"
        }
      },
      "required": [
        "uri",
        "cid",
        "creator",
        "indexedAt"
      ],
      "type": "object"
    },
    "labelerViewDetailed": {
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "creator": {
          "ref": "town.delve.actor.defs#profileView",
          "type": "ref"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "labels": {
          "items": {
            "ref": "com.atproto.label.defs#label",
            "type": "ref"
          },
          "type": "array"
        },
        "likeCount": {
          "minimum": 0,
          "type": "integer"
        },
        "policies": {
          "ref": "town.delve.labeler.defs#labelerPolicies",
          "type": "ref"
        },
        "reasonTypes": {
          "description": "The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.",
          "items": {
            "ref": "com.atproto.moderation.defs#reasonType",
            "type": "ref"
          },
          "type": "array"
        },
        "subjectCollections": {
          "description": "Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.",
          "items": {
            "format": "nsid",
            "type": "string"
          },
          "type": "array"
        },
        "subjectTypes": {
          "description": "The set of subject types (account, record, etc) this service accepts reports on.",
          "items": {
            "ref": "com.atproto.moderation.defs#subjectType",
            "type": "ref"
          },
          "type": "array"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        },
        "viewer": {
          "ref": "#labelerViewerState",
          "type": "ref"
        }
      },
      "required": [
        "uri",
        "cid",
        "creator",
        "policies",
        "indexedAt"
      ],
      "type": "object"
    },
    "labelerViewerState": {
      "properties": {
        "like": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "id": "town.delve.labeler.defs",
  "lexicon": 1
}
```
