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

Lexicon Garden

@