ink.branchline.getBuds

Hydrate full bud views for a set of AT-URIs. Buds are returned in the same order as the input URIs. Unknown URIs are silently omitted from the response.

Repository @branchline.ink did:plc:brvu7akhdvsqcomb67pafw25 namespace authority
Details · query
Kindquery
Authoritybranchline.ink
Indexed
cid bafyreig3o45if752anntfoh3saor7q6rtinfkzoyqmxfaluvzaftx4iefi

Checks

Valid
  • unlimited-string defs.budView.properties.textNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.budView.properties.titleNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "authorView": {
      "properties": {
        "did": {
          "format": "did",
          "type": "string"
        },
        "displayName": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "handle": {
          "format": "handle",
          "type": "string"
        }
      },
      "required": [
        "did",
        "handle"
      ],
      "type": "object"
    },
    "budView": {
      "properties": {
        "author": {
          "ref": "#authorView",
          "type": "ref"
        },
        "bloomsAt": {
          "description": "Timestamp when this bud finishes its growing window and blooms into the feed. Present on every bud; compare with the current time rather than relying on `growing` alone when a live countdown is needed.",
          "format": "datetime",
          "type": "string"
        },
        "children": {
          "description": "AT-URIs of buds that extend this bud.",
          "items": {
            "format": "at-uri",
            "type": "string"
          },
          "type": "array"
        },
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "depth": {
          "description": "Depth of this bud in the story tree (0 = root).",
          "minimum": 0,
          "type": "integer"
        },
        "formatting": {
          "items": {
            "ref": "ink.branchline.bud#formatSpan",
            "type": "ref"
          },
          "type": "array"
        },
        "growing": {
          "description": "True when the bud has not yet reached its bloomsAt time and is still in the growing window.",
          "type": "boolean"
        },
        "intermediateCount": {
          "description": "Count of distinct contributor DIDs on the root-to-bud path, including the root author and this bud's author.",
          "minimum": 0,
          "type": "integer"
        },
        "locked": {
          "description": "True when the bud's bloom time can no longer be extended.",
          "type": "boolean"
        },
        "parent": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "pollenCount": {
          "description": "Lifetime number of pollen grains on this bud (raw count, not the ranking-weighted score).",
          "minimum": 0,
          "type": "integer"
        },
        "text": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        },
        "viewerBookmarked": {
          "description": "True when the authenticated viewer has a bookmark whose subject is this bud. A bookmark earlier or later on the same lineage does not light this flag; only the exact subject does. Omitted when there is no viewer session.",
          "type": "boolean"
        },
        "viewerCanEdit": {
          "description": "True when the authenticated viewer is permitted to edit this bud — they are the author, the bud has no children, and it is not locked. Omitted when there is no viewer session.",
          "type": "boolean"
        },
        "viewerPollinated": {
          "description": "True when the authenticated viewer has already pollinated this bud. Omitted when there is no viewer session.",
          "type": "boolean"
        }
      },
      "required": [
        "uri",
        "cid",
        "title",
        "text",
        "createdAt",
        "depth",
        "pollenCount"
      ],
      "type": "object"
    },
    "main": {
      "description": "Hydrate full bud views for a set of AT-URIs. Buds are returned in the same order as the input URIs. Unknown URIs are silently omitted from the response.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "buds": {
              "items": {
                "ref": "#budView",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "buds"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "uris": {
            "description": "AT-URIs of buds to hydrate.",
            "items": {
              "format": "at-uri",
              "type": "string"
            },
            "maxLength": 25,
            "type": "array"
          }
        },
        "required": [
          "uris"
        ],
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "ink.branchline.getBuds",
  "lexicon": 1
}