net.atpix.gallery.collectionRule

Declares social sources (follow graph, explicit DIDs, hashtags) for gallery feed or album population.

Details · record, key tid
Kindrecord
Record keytid
Authoritygallery.atpix.net
Indexed
cid bafyreiffgoisaqcxb7p7dkrqgcb6ge7sdrd2wct4t4vyxs7r4z27q2hwn4

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Declares social sources (follow graph, explicit DIDs, hashtags) for gallery feed or album population.",
      "key": "tid",
      "record": {
        "properties": {
          "active": {
            "default": true,
            "description": "ATPix — inactive rules are ignored by listFeedPhotos.",
            "type": "boolean"
          },
          "createdAt": {
            "description": "dc:date · schema:dateCreated — RFC 3339 UTC.",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "dc:description — optional explanation.",
            "maxLength": 2000,
            "type": "string"
          },
          "followedActors": {
            "description": "schema:follows (conceptual) — explicit DID allow-list; unioned with follow graph when useFollowGraph is true.",
            "items": {
              "format": "did",
              "type": "string"
            },
            "maxLength": 500,
            "type": "array"
          },
          "hashtags": {
            "description": "dc:subject — normalized hashtags (no #); matched against photo.keywords.",
            "items": {
              "maxLength": 64,
              "type": "string"
            },
            "maxLength": 50,
            "type": "array"
          },
          "includeOwnPhotos": {
            "default": true,
            "description": "ATPix — include photos authored by the rule owner.",
            "type": "boolean"
          },
          "modifiedAt": {
            "description": "schema:dateModified — RFC 3339 UTC.",
            "format": "datetime",
            "type": "string"
          },
          "name": {
            "description": "dc:title — human-readable rule name.",
            "maxLength": 200,
            "type": "string"
          },
          "targetAlbumUri": {
            "description": "ATPix — required when targetScope is album; target album AT URI.",
            "format": "at-uri",
            "type": "string"
          },
          "targetScope": {
            "description": "ATPix — gallery (social feed) or album (membership seeding).",
            "ref": "net.atpix.gallery.defs#targetScope",
            "type": "ref"
          },
          "useFollowGraph": {
            "default": false,
            "description": "ATPix — when true, resolve actors via app.bsky.graph.getFollows.",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "targetScope",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "Rule for sourcing photos from followed actors and/or hashtags into gallery feed or albums.",
  "id": "net.atpix.gallery.collectionRule",
  "lexicon": 1
}