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.
Details · query
| Kind | query |
|---|---|
| Authority | branchline.ink |
| Indexed |
Checks
Validunlimited-stringdefs.budView.properties.textNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.budView.properties.titleNo maxLength, maxGraphemes or format limits this string.
{
"$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
}