full diff

dev.knotless.getProfile

From
bafyreidwg4syfwior75x2fodmv4vr2vbb6f7o54gtnbj64kvboyjqicjmi indexed 2026-10-30 13:48 UTC View this version
To
bafyreicllm7hg7douzjpcvdg2fc3oxohcprpbguidarazegqv5bs5fxbsu indexed 2026-10-30 20:36 UTC View this version

Compatibility

backward compatible Backward compatible. 2 non-breaking changes.

Non-breaking changes (2)
  • AddedVertex AddedVertex { vertex_id: "dev.knotless.getProfile#profileView.bot" }
  • AddedEdge AddedEdge { src: "dev.knotless.getProfile#profileView", tgt: "dev.knotless.getProfile#profileView.bot", kind: "prop", name: Some("bot") }

Migration guidance

Added

  • AddedVertex { vertex_id: "dev.knotless.getProfile#profileView.bot" }

Notes

  • Non-breaking: AddedEdge { src: "dev.knotless.getProfile#profileView", tgt: "dev.knotless.getProfile#profileView.bot", kind: "prop", name: Some("bot") }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "badgeView": {
55 "description": "A badge an account earned, at the highest tier its count reached.",
66 "properties": {
77 "count": {
88 "description": "What the badge counts, as the appview counted it.",
99 "minimum": 0,
1010 "type": "integer"
1111 },
1212 "kind": {
1313 "description": "Which badge: `upstream`, pulls merged into repositories of other accounts; `second-pair`, pulls of other accounts commented on before they merged; `peacemaker`, pulls landed after the merge queue ejected them for a conflict; `forked-and-fixed`, pulls merged into its repositories from forks of them; `good-company`, pulls the merge queue landed in a batch of five or more; `smooth-landing`, pulls the merge queue landed without ever ejecting them; `bisected`, pulls found by halving a batch that failed; `shipped`, releases published; `stargazer`, stars on its most starred repository; `carry-your-own`, an account on a PDS holding five accounts or fewer; `moved-house`, an account whose DID document named another PDS before; `first-light`, an account here with a repository before knotless 1.0. A kind is never reused for another meaning.",
1414 "knownValues": [
1515 "upstream",
1616 "second-pair",
1717 "peacemaker",
1818 "forked-and-fixed",
1919 "good-company",
2020 "smooth-landing",
2121 "bisected",
2222 "shipped",
2323 "stargazer",
2424 "carry-your-own",
2525 "moved-house",
2626 "first-light"
2727 ],
2828 "type": "string"
2929 },
3030 "next": {
3131 "description": "The count the next tier starts at. Absent at the highest tier.",
3232 "minimum": 1,
3333 "type": "integer"
3434 },
3535 "tier": {
3636 "description": "The highest tier its count reached, from 1 to 4. A badge earned once, as `forked-and-fixed`, `bisected`, `carry-your-own`, `moved-house` and `first-light` are, has only the first.",
3737 "maximum": 4,
3838 "minimum": 1,
3939 "type": "integer"
4040 }
4141 },
4242 "required": [
4343 "kind",
4444 "tier",
4545 "count"
4646 ],
4747 "type": "object"
4848 },
4949 "main": {
5050 "description": "How an account shows on knotless: its dev.knotless.profile, field by field over its app.bsky.actor.profile, with its follows as the appview counts them. Optional authentication: with an asker, whether it follows the account.",
5151 "errors": [
5252 {
5353 "description": "No account by that DID or handle.",
5454 "name": "ProfileNotFound"
5555 }
5656 ],
5757 "output": {
5858 "encoding": "application/json",
5959 "schema": {
6060 "ref": "#profileView",
6161 "type": "ref"
6262 }
6363 },
6464 "parameters": {
6565 "properties": {
6666 "actor": {
6767 "description": "The account, by DID or handle.",
6868 "format": "at-identifier",
6969 "type": "string"
7070 }
7171 },
7272 "required": [
7373 "actor"
7474 ],
7575 "type": "params"
7676 },
7777 "type": "query"
7878 },
7979 "orgView": {
8080 "description": "An organization an account is a member of.",
8181 "properties": {
8282 "actor": {
8383 "ref": "dev.knotless.defs#actorView",
8484 "type": "ref"
8585 }
8686 },
8787 "required": [
8888 "actor"
8989 ],
9090 "type": "object"
9191 },
9292 "profileView": {
9393 "description": "An account as knotless shows it.",
9494 "properties": {
9595 "avatar": {
9696 "description": "The account's picture: from Bluesky's CDN, or, for one its dev.knotless.profile names, from this appview.",
9797 "format": "uri",
9898 "type": "string"
9999 },
100100 "badges": {
101101 "description": "The badges it earned, in the order knotless shows them, as the appview counts them from what it has indexed: none it could not count again from accounts' records. Absent when none, or when the appview keeps no index.",
102102 "items": {
103103 "ref": "#badgeView",
104104 "type": "ref"
105105 },
106106 "type": "array"
107107 },
108 "bot": {
109 "description": "Whether the account says it is a bot, as its dev.knotless.profile's `bot`. Absent when it is not.",
110 "type": "boolean"
111 },
108112 "description": {
109113 "description": "The account's bio.",
110114 "maxGraphemes": 256,
111115 "maxLength": 2560,
112116 "type": "string"
113117 },
114118 "did": {
115119 "format": "did",
116120 "type": "string"
117121 },
118122 "displayName": {
119123 "maxGraphemes": 64,
120124 "maxLength": 640,
121125 "type": "string"
122126 },
123127 "followersCount": {
124128 "description": "How many accounts follow it on knotless, when the appview keeps an index.",
125129 "minimum": 0,
126130 "type": "integer"
127131 },
128132 "followsCount": {
129133 "description": "How many accounts it follows on knotless, when the appview keeps an index.",
130134 "minimum": 0,
131135 "type": "integer"
132136 },
133137 "handle": {
134138 "description": "The handle the account claims, when it resolves back to it; else the DID.",
135139 "type": "string"
136140 },
137141 "links": {
138142 "description": "Only http and https addresses.",
139143 "items": {
140144 "ref": "dev.knotless.defs#link",
141145 "type": "ref"
142146 },
143147 "maxLength": 10,
144148 "type": "array"
145149 },
146150 "organization": {
147151 "description": "Whether the account is an organization, keeping a public dev.knotless.org record, as the appview has indexed it. Absent when it is not.",
148152 "type": "boolean"
149153 },
150154 "orgs": {
151155 "description": "The organizations it is a member of in public, as the appview has indexed them; to the account itself, asking, its hidden memberships too. Absent when none.",
152156 "items": {
153157 "ref": "#orgView",
154158 "type": "ref"
155159 },
156160 "type": "array"
157161 },
158162 "pronouns": {
159163 "maxGraphemes": 20,
160164 "maxLength": 200,
161165 "type": "string"
162166 },
163167 "viewer": {
164168 "description": "What the account asking has to do with it; absent when no one asks.",
165169 "ref": "dev.knotless.defs#actorViewerState",
166170 "type": "ref"
167171 }
168172 },
169173 "required": [
170174 "did"
171175 ],
172176 "type": "object"
173177 }
174178 },
175179 "description": "How an account shows on knotless.",
176180 "id": "dev.knotless.getProfile",
177181 "lexicon": 1
178182}

Compare other versions