net.atpix.gallery.collectionRule

lexicon.atpix.net

{
  "$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
}

Validate Record

Validate a record against net.atpix.gallery.collectionRule

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:x4crpdfko2d7xrcd5eovpwex
CID
bafyreiffgoisaqcxb7p7dkrqgcb6ge7sdrd2wct4t4vyxs7r4z27q2hwn4
Indexed At
2026-07-25 20:26 UTC
AT-URI
at://did:plc:x4crpdfko2d7xrcd5eovpwex/com.atproto.lexicon.schema/net.atpix.gallery.collectionRule

Referenced Schemas (1)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@