net.atpix.gallery.collectionRule

lexicon.atpix.net

Documentation

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

main record

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

Record Key tid Timestamp-based ID

Properties

active boolean Optional

ATPix — inactive rules are ignored by listFeedPhotos.

Default: true
createdAt string datetime Required

dc:date · schema:dateCreated — RFC 3339 UTC.

description string Optional

dc:description — optional explanation.

maxLength: 2000 bytes
followedActors array of string did Optional

schema:follows (conceptual) — explicit DID allow-list; unioned with follow graph when useFollowGraph is true.

maxLength: 500 items
hashtags array of string Optional

dc:subject — normalized hashtags (no #); matched against photo.keywords.

maxLength: 50 items
includeOwnPhotos boolean Optional

ATPix — include photos authored by the rule owner.

Default: true
modifiedAt string datetime Optional

schema:dateModified — RFC 3339 UTC.

name string Required

dc:title — human-readable rule name.

maxLength: 200 bytes
targetAlbumUri string at-uri Optional

ATPix — required when targetScope is album; target album AT URI.

useFollowGraph boolean Optional

ATPix — when true, resolve actors via app.bsky.graph.getFollows.

Default: false
View raw schema
{
  "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"
}

Lexicon Garden

@