dev.knotless.getProfile

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.

Details · query
Kindquery
Authorityknotless.dev
Indexed

Showing version bafyreicllm7hg7douzjpcvdg2fc3oxohcprpbguidarazegqv5bs5fxbsu. Show the latest

cid bafyreicllm7hg7douzjpcvdg2fc3oxohcprpbguidarazegqv5bs5fxbsu

Checks

Valid
  • unlimited-string defs.badgeView.properties.kindNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.profileView.properties.handleNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "badgeView": {
      "description": "A badge an account earned, at the highest tier its count reached.",
      "properties": {
        "count": {
          "description": "What the badge counts, as the appview counted it.",
          "minimum": 0,
          "type": "integer"
        },
        "kind": {
          "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.",
          "knownValues": [
            "upstream",
            "second-pair",
            "peacemaker",
            "forked-and-fixed",
            "good-company",
            "smooth-landing",
            "bisected",
            "shipped",
            "stargazer",
            "carry-your-own",
            "moved-house",
            "first-light"
          ],
          "type": "string"
        },
        "next": {
          "description": "The count the next tier starts at. Absent at the highest tier.",
          "minimum": 1,
          "type": "integer"
        },
        "tier": {
          "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.",
          "maximum": 4,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "kind",
        "tier",
        "count"
      ],
      "type": "object"
    },
    "main": {
      "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.",
      "errors": [
        {
          "description": "No account by that DID or handle.",
          "name": "ProfileNotFound"
        }
      ],
      "output": {
        "encoding": "application/json",
        "schema": {
          "ref": "#profileView",
          "type": "ref"
        }
      },
      "parameters": {
        "properties": {
          "actor": {
            "description": "The account, by DID or handle.",
            "format": "at-identifier",
            "type": "string"
          }
        },
        "required": [
          "actor"
        ],
        "type": "params"
      },
      "type": "query"
    },
    "orgView": {
      "description": "An organization an account is a member of.",
      "properties": {
        "actor": {
          "ref": "dev.knotless.defs#actorView",
          "type": "ref"
        }
      },
      "required": [
        "actor"
      ],
      "type": "object"
    },
    "profileView": {
      "description": "An account as knotless shows it.",
      "properties": {
        "avatar": {
          "description": "The account's picture: from Bluesky's CDN, or, for one its dev.knotless.profile names, from this appview.",
          "format": "uri",
          "type": "string"
        },
        "badges": {
          "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.",
          "items": {
            "ref": "#badgeView",
            "type": "ref"
          },
          "type": "array"
        },
        "bot": {
          "description": "Whether the account says it is a bot, as its dev.knotless.profile's `bot`. Absent when it is not.",
          "type": "boolean"
        },
        "description": {
          "description": "The account's bio.",
          "maxGraphemes": 256,
          "maxLength": 2560,
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "displayName": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "followersCount": {
          "description": "How many accounts follow it on knotless, when the appview keeps an index.",
          "minimum": 0,
          "type": "integer"
        },
        "followsCount": {
          "description": "How many accounts it follows on knotless, when the appview keeps an index.",
          "minimum": 0,
          "type": "integer"
        },
        "handle": {
          "description": "The handle the account claims, when it resolves back to it; else the DID.",
          "type": "string"
        },
        "links": {
          "description": "Only http and https addresses.",
          "items": {
            "ref": "dev.knotless.defs#link",
            "type": "ref"
          },
          "maxLength": 10,
          "type": "array"
        },
        "organization": {
          "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.",
          "type": "boolean"
        },
        "orgs": {
          "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.",
          "items": {
            "ref": "#orgView",
            "type": "ref"
          },
          "type": "array"
        },
        "pronouns": {
          "maxGraphemes": 20,
          "maxLength": 200,
          "type": "string"
        },
        "viewer": {
          "description": "What the account asking has to do with it; absent when no one asks.",
          "ref": "dev.knotless.defs#actorViewerState",
          "type": "ref"
        }
      },
      "required": [
        "did"
      ],
      "type": "object"
    }
  },
  "description": "How an account shows on knotless.",
  "id": "dev.knotless.getProfile",
  "lexicon": 1
}