app.didpic.actor.defs

lexicons.didpic.app

Schema Diff

+31 -2

From

CID
bafyreidbfzl2p5s...
Indexed At
2026-05-16 06:10 UTC
View this version

To

CID
bafyreigjhrowt7o...
Indexed At
2026-05-18 00:14 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#feedPref" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#feedPref.value" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#labelPrefs" }
  • AddedVertex AddedVertex { vertex_id: "app.didpic.actor.defs#labelPrefs.labels" }
  • AddedEdge AddedEdge { src: "app.didpic.actor.defs#feedPref", tgt: "app.didpic.actor.defs#feedPref.value", kind: "prop", name: Some("value") }
  • AddedEdge AddedEdge { src: "app.didpic.actor.defs#labelPrefs", tgt: "app.didpic.actor.defs#labelPrefs.labels", kind: "prop", name: Some("labels") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.didpic.actor.defs#feedPref" }
  • AddedVertex { vertex_id: "app.didpic.actor.defs#feedPref.value" }
  • AddedVertex { vertex_id: "app.didpic.actor.defs#labelPrefs" }
  • AddedVertex { vertex_id: "app.didpic.actor.defs#labelPrefs.labels" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.didpic.actor.defs#feedPref", tgt: "app.didpic.actor.defs#feedPref.value", kind: "prop", name: Some("value") }
  • Non-breaking: AddedEdge { src: "app.didpic.actor.defs#labelPrefs", tgt: "app.didpic.actor.defs#labelPrefs.labels", kind: "prop", name: Some("labels") }
1 1
{
2 2
  "id": "app.didpic.actor.defs",
3 3
  "defs": {
4 +
    "feedPref": {
5 +
      "type": "object",
6 +
      "required": [
7 +
        "value"
8 +
      ],
9 +
      "properties": {
10 +
        "value": {
11 +
          "type": "string",
12 +
          "knownValues": [
13 +
            "home",
14 +
            "discover"
15 +
          ]
16 +
        }
17 +
      },
18 +
      "description": "Last-selected home feed."
19 +
    },
20 +
    "labelPrefs": {
21 +
      "type": "object",
22 +
      "required": [
23 +
        "labels"
24 +
      ],
25 +
      "properties": {
26 +
        "labels": {
27 +
          "type": "unknown",
28 +
          "description": "Map of label id to action ('hide' | 'blur' | 'show')."
29 +
        }
30 +
      },
31 +
      "description": "Per-label moderation preferences."
32 +
    },
4 33
    "profileView": {
5 34
      "type": "object",
6 35
      "required": [
7 36
        "did"
8 37
      ],
9 38
      "properties": {
10 39
        "did": {
11 40
          "type": "string",
12 41
          "format": "did"
13 42
        },
14 43
        "handle": {
15 44
          "type": "string",
16 45
          "format": "handle"
17 46
        },
18 47
        "avatarCid": {
19 48
          "type": "string",
20 49
          "format": "cid"
21 50
        },
22 51
        "bannerCid": {
23 52
          "type": "string",
24 53
          "format": "cid"
25 54
        },
26 55
        "indexedAt": {
27 56
          "type": "string",
28 57
          "format": "datetime"
29 58
        },
30 59
        "likesCount": {
31 60
          "type": "integer",
32 61
          "minimum": 0
33 62
        },
34 63
        "postsCount": {
35 64
          "type": "integer",
36 65
          "minimum": 0
37 66
        },
38 67
        "description": {
39 68
          "type": "string",
40 69
          "maxLength": 2560,
41 70
          "maxGraphemes": 256
42 71
        },
43 72
        "displayName": {
44 73
          "type": "string",
45 74
          "maxLength": 640,
46 75
          "maxGraphemes": 64
47 76
        },
48 77
        "followsCount": {
49 78
          "type": "integer",
50 79
          "minimum": 0
51 80
        },
52 81
        "followersCount": {
53 82
          "type": "integer",
54 83
          "minimum": 0
55 84
        },
56 85
        "viewerFollowing": {
57 86
          "type": "string",
58 87
          "format": "at-uri",
59 88
          "description": "URI of the viewer's follow record for this actor, if any."
60 89
        }
61 90
      },
62 -
      "description": "Full profile view returned by app.didpic.actor.getProfile."
91 +
      "description": "Full profile view."
63 92
    },
64 93
    "profileBasic": {
65 94
      "type": "object",
66 95
      "required": [
67 96
        "did"
68 97
      ],
69 98
      "properties": {
70 99
        "did": {
71 100
          "type": "string",
72 101
          "format": "did"
73 102
        },
74 103
        "handle": {
75 104
          "type": "string",
76 105
          "format": "handle"
77 106
        },
78 107
        "avatarCid": {
79 108
          "type": "string",
80 109
          "format": "cid"
81 110
        },
82 111
        "displayName": {
83 112
          "type": "string",
84 113
          "maxLength": 640,
85 114
          "maxGraphemes": 64
86 115
        },
87 116
        "viewerFollowing": {
88 117
          "type": "string",
89 118
          "format": "at-uri",
90 119
          "description": "URI of the viewer's follow record for this actor, if any."
91 120
        }
92 121
      },
93 -
      "description": "Minimal profile info embedded inside other views. `viewerFollowing` is populated where the calling endpoint can cheaply join viewer follow state (e.g. graph.getFollows/getFollowers); it may be absent elsewhere. `handle` comes from the user's DID document (kept in sync via jetstream identity events) and is absent only for DIDs we've never been able to resolve."
122 +
      "description": "Minimal profile info embedded inside other views."
94 123
    }
95 124
  },
96 125
  "$type": "com.atproto.lexicon.schema",
97 126
  "lexicon": 1
98 127
}

Compare Other Versions

Lexicon Garden

@