{
"id": "app.bsky.labeler.defs",
"defs": {
"labelerView": {
"type": "object",
"required": [
"uri",
"cid",
"creator",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"labels": {
"type": "array",
"items": {
"ref": "com.atproto.label.defs#label",
"type": "ref"
}
},
"viewer": {
"ref": "#labelerViewerState",
"type": "ref"
},
"creator": {
"ref": "app.bsky.actor.defs#profileView",
"type": "ref"
},
"indexedAt": {
"type": "string",
"format": "datetime"
},
"likeCount": {
"type": "integer",
"minimum": 0
}
}
},
"labelerPolicies": {
"type": "object",
"required": [
"labelValues"
],
"properties": {
"labelValues": {
"type": "array",
"items": {
"ref": "com.atproto.label.defs#labelValue",
"type": "ref"
},
"description": "The label values which this labeler publishes. May include global or custom labels."
},
"labelValueDefinitions": {
"type": "array",
"items": {
"ref": "com.atproto.label.defs#labelValueDefinition",
"type": "ref"
},
"description": "Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler."
}
}
},
"labelerViewerState": {
"type": "object",
"properties": {
"like": {
"type": "string",
"format": "at-uri"
}
}
},
"labelerViewDetailed": {
"type": "object",
"required": [
"uri",
"cid",
"creator",
"policies",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"labels": {
"type": "array",
"items": {
"ref": "com.atproto.label.defs#label",
"type": "ref"
}
},
"viewer": {
"ref": "#labelerViewerState",
"type": "ref"
},
"creator": {
"ref": "app.bsky.actor.defs#profileView",
"type": "ref"
},
"policies": {
"ref": "app.bsky.labeler.defs#labelerPolicies",
"type": "ref"
},
"indexedAt": {
"type": "string",
"format": "datetime"
},
"likeCount": {
"type": "integer",
"minimum": 0
},
"reasonTypes": {
"type": "array",
"items": {
"ref": "com.atproto.moderation.defs#reasonType",
"type": "ref"
},
"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."
},
"subjectTypes": {
"type": "array",
"items": {
"ref": "com.atproto.moderation.defs#subjectType",
"type": "ref"
},
"description": "The set of subject types (account, record, etc) this service accepts reports on."
},
"subjectCollections": {
"type": "array",
"items": {
"type": "string",
"format": "nsid"
},
"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."
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}