app.bsky.feed.defs
Lexicon Version: 1
Definitions
Section titled “Definitions”postView
Section titled “postView”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
uri | string | ✅ | Format: at-uri | |
cid | string | ✅ | Format: cid | |
author | app.bsky.actor.defs#profileViewBasic | ✅ | ||
record | unknown | ✅ | ||
embed | Union of:app.bsky.embed.images#viewapp.bsky.embed.video#viewapp.bsky.embed.external#viewapp.bsky.embed.record#viewapp.bsky.embed.recordWithMedia#view | ❌ | ||
bookmarkCount | integer | ❌ | ||
replyCount | integer | ❌ | ||
repostCount | integer | ❌ | ||
likeCount | integer | ❌ | ||
quoteCount | integer | ❌ | ||
indexedAt | string | ✅ | Format: datetime | |
viewer | #viewerState | ❌ | ||
labels | Array of com.atproto.label.defs#label | ❌ | ||
threadgate | #threadgateView | ❌ |
viewerState
Section titled “viewerState”Type: object
Metadata about the requesting account’s relationship with the subject content. Only has meaningful content for authed requests.
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
repost | string | ❌ | Format: at-uri | |
like | string | ❌ | Format: at-uri | |
bookmarked | boolean | ❌ | ||
threadMuted | boolean | ❌ | ||
replyDisabled | boolean | ❌ | ||
embeddingDisabled | boolean | ❌ | ||
pinned | boolean | ❌ |
threadContext
Section titled “threadContext”Type: object
Metadata about this post within the context of the thread it is in.
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
rootAuthorLike | string | ❌ | Format: at-uri |
feedViewPost
Section titled “feedViewPost”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
post | #postView | ✅ | ||
reply | #replyRef | ❌ | ||
reason | Union of:#reasonRepost#reasonPin | ❌ | ||
feedContext | string | ❌ | Context provided by feed generator that may be passed back alongside interactions. | Max Length: 2000 |
reqId | string | ❌ | Unique identifier per request that may be passed back alongside interactions. | Max Length: 100 |
replyRef
Section titled “replyRef”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
root | Union of:#postView#notFoundPost#blockedPost | ✅ | ||
parent | Union of:#postView#notFoundPost#blockedPost | ✅ | ||
grandparentAuthor | app.bsky.actor.defs#profileViewBasic | ❌ | When parent is a reply to another post, this is the author of that post. |
reasonRepost
Section titled “reasonRepost”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
by | app.bsky.actor.defs#profileViewBasic | ✅ | ||
uri | string | ❌ | Format: at-uri | |
cid | string | ❌ | Format: cid | |
indexedAt | string | ✅ | Format: datetime |
reasonPin
Section titled “reasonPin”Type: object
Properties:
(No properties defined)
threadViewPost
Section titled “threadViewPost”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
post | #postView | ✅ | ||
parent | Union of:#threadViewPost#notFoundPost#blockedPost | ❌ | ||
replies | Array of Union of:#threadViewPost#notFoundPost#blockedPost | ❌ | ||
threadContext | #threadContext | ❌ |
notFoundPost
Section titled “notFoundPost”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
uri | string | ✅ | Format: at-uri | |
notFound | boolean | ✅ | Const: true |
blockedPost
Section titled “blockedPost”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
uri | string | ✅ | Format: at-uri | |
blocked | boolean | ✅ | Const: true | |
author | #blockedAuthor | ✅ |
blockedAuthor
Section titled “blockedAuthor”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
did | string | ✅ | Format: did | |
viewer | app.bsky.actor.defs#viewerState | ❌ |
generatorView
Section titled “generatorView”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
uri | string | ✅ | Format: at-uri | |
cid | string | ✅ | Format: cid | |
did | string | ✅ | Format: did | |
creator | app.bsky.actor.defs#profileView | ✅ | ||
displayName | string | ✅ | ||
description | string | ❌ | Max Length: 3000 Max Graphemes: 300 | |
descriptionFacets | Array of app.bsky.richtext.facet | ❌ | ||
avatar | string | ❌ | Format: uri | |
likeCount | integer | ❌ | Min: 0 | |
acceptsInteractions | boolean | ❌ | ||
labels | Array of com.atproto.label.defs#label | ❌ | ||
viewer | #generatorViewerState | ❌ | ||
contentMode | string | ❌ | Known Values: app.bsky.feed.defs#contentModeUnspecified, app.bsky.feed.defs#contentModeVideo | |
indexedAt | string | ✅ | Format: datetime |
generatorViewerState
Section titled “generatorViewerState”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
like | string | ❌ | Format: at-uri |
skeletonFeedPost
Section titled “skeletonFeedPost”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
post | string | ✅ | Format: at-uri | |
reason | Union of:#skeletonReasonRepost#skeletonReasonPin | ❌ | ||
feedContext | string | ❌ | Context that will be passed through to client and may be passed to feed generator back alongside interactions. | Max Length: 2000 |
skeletonReasonRepost
Section titled “skeletonReasonRepost”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
repost | string | ✅ | Format: at-uri |
skeletonReasonPin
Section titled “skeletonReasonPin”Type: object
Properties:
(No properties defined)
threadgateView
Section titled “threadgateView”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
uri | string | ❌ | Format: at-uri | |
cid | string | ❌ | Format: cid | |
record | unknown | ❌ | ||
lists | Array of app.bsky.graph.defs#listViewBasic | ❌ |
interaction
Section titled “interaction”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
item | string | ❌ | Format: at-uri | |
event | string | ❌ | Known Values: app.bsky.feed.defs#requestLess, app.bsky.feed.defs#requestMore, app.bsky.feed.defs#clickthroughItem, app.bsky.feed.defs#clickthroughAuthor, app.bsky.feed.defs#clickthroughReposter, app.bsky.feed.defs#clickthroughEmbed, app.bsky.feed.defs#interactionSeen, app.bsky.feed.defs#interactionLike, app.bsky.feed.defs#interactionRepost, app.bsky.feed.defs#interactionReply, app.bsky.feed.defs#interactionQuote, app.bsky.feed.defs#interactionShare | |
feedContext | string | ❌ | Context on a feed item that was originally supplied by the feed generator on getFeedSkeleton. | Max Length: 2000 |
reqId | string | ❌ | Unique identifier per request that may be passed back alongside interactions. | Max Length: 100 |
requestLess
Section titled “requestLess”Type: token
Request that less content like the given feed item be shown in the feed
requestMore
Section titled “requestMore”Type: token
Request that more content like the given feed item be shown in the feed
clickthroughItem
Section titled “clickthroughItem”Type: token
User clicked through to the feed item
clickthroughAuthor
Section titled “clickthroughAuthor”Type: token
User clicked through to the author of the feed item
clickthroughReposter
Section titled “clickthroughReposter”Type: token
User clicked through to the reposter of the feed item
clickthroughEmbed
Section titled “clickthroughEmbed”Type: token
User clicked through to the embedded content of the feed item
contentModeUnspecified
Section titled “contentModeUnspecified”Type: token
Declares the feed generator returns any types of posts.
contentModeVideo
Section titled “contentModeVideo”Type: token
Declares the feed generator returns posts containing app.bsky.embed.video embeds.
interactionSeen
Section titled “interactionSeen”Type: token
Feed item was seen by user
interactionLike
Section titled “interactionLike”Type: token
User liked the feed item
interactionRepost
Section titled “interactionRepost”Type: token
User reposted the feed item
interactionReply
Section titled “interactionReply”Type: token
User replied to the feed item
interactionQuote
Section titled “interactionQuote”Type: token
User quoted the feed item
interactionShare
Section titled “interactionShare”Type: token
User shared the feed item
Lexicon Source
Section titled “Lexicon Source”{ "lexicon": 1, "id": "app.bsky.feed.defs", "defs": { "postView": { "type": "object", "required": [ "uri", "cid", "author", "record", "indexedAt" ], "properties": { "uri": { "type": "string", "format": "at-uri" }, "cid": { "type": "string", "format": "cid" }, "author": { "type": "ref", "ref": "app.bsky.actor.defs#profileViewBasic" }, "record": { "type": "unknown" }, "embed": { "type": "union", "refs": [ "app.bsky.embed.images#view", "app.bsky.embed.video#view", "app.bsky.embed.external#view", "app.bsky.embed.record#view", "app.bsky.embed.recordWithMedia#view" ] }, "bookmarkCount": { "type": "integer" }, "replyCount": { "type": "integer" }, "repostCount": { "type": "integer" }, "likeCount": { "type": "integer" }, "quoteCount": { "type": "integer" }, "indexedAt": { "type": "string", "format": "datetime" }, "viewer": { "type": "ref", "ref": "#viewerState" }, "labels": { "type": "array", "items": { "type": "ref", "ref": "com.atproto.label.defs#label" } }, "threadgate": { "type": "ref", "ref": "#threadgateView" } } }, "viewerState": { "type": "object", "description": "Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests.", "properties": { "repost": { "type": "string", "format": "at-uri" }, "like": { "type": "string", "format": "at-uri" }, "bookmarked": { "type": "boolean" }, "threadMuted": { "type": "boolean" }, "replyDisabled": { "type": "boolean" }, "embeddingDisabled": { "type": "boolean" }, "pinned": { "type": "boolean" } } }, "threadContext": { "type": "object", "description": "Metadata about this post within the context of the thread it is in.", "properties": { "rootAuthorLike": { "type": "string", "format": "at-uri" } } }, "feedViewPost": { "type": "object", "required": [ "post" ], "properties": { "post": { "type": "ref", "ref": "#postView" }, "reply": { "type": "ref", "ref": "#replyRef" }, "reason": { "type": "union", "refs": [ "#reasonRepost", "#reasonPin" ] }, "feedContext": { "type": "string", "description": "Context provided by feed generator that may be passed back alongside interactions.", "maxLength": 2000 }, "reqId": { "type": "string", "description": "Unique identifier per request that may be passed back alongside interactions.", "maxLength": 100 } } }, "replyRef": { "type": "object", "required": [ "root", "parent" ], "properties": { "root": { "type": "union", "refs": [ "#postView", "#notFoundPost", "#blockedPost" ] }, "parent": { "type": "union", "refs": [ "#postView", "#notFoundPost", "#blockedPost" ] }, "grandparentAuthor": { "type": "ref", "ref": "app.bsky.actor.defs#profileViewBasic", "description": "When parent is a reply to another post, this is the author of that post." } } }, "reasonRepost": { "type": "object", "required": [ "by", "indexedAt" ], "properties": { "by": { "type": "ref", "ref": "app.bsky.actor.defs#profileViewBasic" }, "uri": { "type": "string", "format": "at-uri" }, "cid": { "type": "string", "format": "cid" }, "indexedAt": { "type": "string", "format": "datetime" } } }, "reasonPin": { "type": "object", "properties": {} }, "threadViewPost": { "type": "object", "required": [ "post" ], "properties": { "post": { "type": "ref", "ref": "#postView" }, "parent": { "type": "union", "refs": [ "#threadViewPost", "#notFoundPost", "#blockedPost" ] }, "replies": { "type": "array", "items": { "type": "union", "refs": [ "#threadViewPost", "#notFoundPost", "#blockedPost" ] } }, "threadContext": { "type": "ref", "ref": "#threadContext" } } }, "notFoundPost": { "type": "object", "required": [ "uri", "notFound" ], "properties": { "uri": { "type": "string", "format": "at-uri" }, "notFound": { "type": "boolean", "const": true } } }, "blockedPost": { "type": "object", "required": [ "uri", "blocked", "author" ], "properties": { "uri": { "type": "string", "format": "at-uri" }, "blocked": { "type": "boolean", "const": true }, "author": { "type": "ref", "ref": "#blockedAuthor" } } }, "blockedAuthor": { "type": "object", "required": [ "did" ], "properties": { "did": { "type": "string", "format": "did" }, "viewer": { "type": "ref", "ref": "app.bsky.actor.defs#viewerState" } } }, "generatorView": { "type": "object", "required": [ "uri", "cid", "did", "creator", "displayName", "indexedAt" ], "properties": { "uri": { "type": "string", "format": "at-uri" }, "cid": { "type": "string", "format": "cid" }, "did": { "type": "string", "format": "did" }, "creator": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" }, "displayName": { "type": "string" }, "description": { "type": "string", "maxGraphemes": 300, "maxLength": 3000 }, "descriptionFacets": { "type": "array", "items": { "type": "ref", "ref": "app.bsky.richtext.facet" } }, "avatar": { "type": "string", "format": "uri" }, "likeCount": { "type": "integer", "minimum": 0 }, "acceptsInteractions": { "type": "boolean" }, "labels": { "type": "array", "items": { "type": "ref", "ref": "com.atproto.label.defs#label" } }, "viewer": { "type": "ref", "ref": "#generatorViewerState" }, "contentMode": { "type": "string", "knownValues": [ "app.bsky.feed.defs#contentModeUnspecified", "app.bsky.feed.defs#contentModeVideo" ] }, "indexedAt": { "type": "string", "format": "datetime" } } }, "generatorViewerState": { "type": "object", "properties": { "like": { "type": "string", "format": "at-uri" } } }, "skeletonFeedPost": { "type": "object", "required": [ "post" ], "properties": { "post": { "type": "string", "format": "at-uri" }, "reason": { "type": "union", "refs": [ "#skeletonReasonRepost", "#skeletonReasonPin" ] }, "feedContext": { "type": "string", "description": "Context that will be passed through to client and may be passed to feed generator back alongside interactions.", "maxLength": 2000 } } }, "skeletonReasonRepost": { "type": "object", "required": [ "repost" ], "properties": { "repost": { "type": "string", "format": "at-uri" } } }, "skeletonReasonPin": { "type": "object", "properties": {} }, "threadgateView": { "type": "object", "properties": { "uri": { "type": "string", "format": "at-uri" }, "cid": { "type": "string", "format": "cid" }, "record": { "type": "unknown" }, "lists": { "type": "array", "items": { "type": "ref", "ref": "app.bsky.graph.defs#listViewBasic" } } } }, "interaction": { "type": "object", "properties": { "item": { "type": "string", "format": "at-uri" }, "event": { "type": "string", "knownValues": [ "app.bsky.feed.defs#requestLess", "app.bsky.feed.defs#requestMore", "app.bsky.feed.defs#clickthroughItem", "app.bsky.feed.defs#clickthroughAuthor", "app.bsky.feed.defs#clickthroughReposter", "app.bsky.feed.defs#clickthroughEmbed", "app.bsky.feed.defs#interactionSeen", "app.bsky.feed.defs#interactionLike", "app.bsky.feed.defs#interactionRepost", "app.bsky.feed.defs#interactionReply", "app.bsky.feed.defs#interactionQuote", "app.bsky.feed.defs#interactionShare" ] }, "feedContext": { "type": "string", "description": "Context on a feed item that was originally supplied by the feed generator on getFeedSkeleton.", "maxLength": 2000 }, "reqId": { "type": "string", "description": "Unique identifier per request that may be passed back alongside interactions.", "maxLength": 100 } } }, "requestLess": { "type": "token", "description": "Request that less content like the given feed item be shown in the feed" }, "requestMore": { "type": "token", "description": "Request that more content like the given feed item be shown in the feed" }, "clickthroughItem": { "type": "token", "description": "User clicked through to the feed item" }, "clickthroughAuthor": { "type": "token", "description": "User clicked through to the author of the feed item" }, "clickthroughReposter": { "type": "token", "description": "User clicked through to the reposter of the feed item" }, "clickthroughEmbed": { "type": "token", "description": "User clicked through to the embedded content of the feed item" }, "contentModeUnspecified": { "type": "token", "description": "Declares the feed generator returns any types of posts." }, "contentModeVideo": { "type": "token", "description": "Declares the feed generator returns posts containing app.bsky.embed.video embeds." }, "interactionSeen": { "type": "token", "description": "Feed item was seen by user" }, "interactionLike": { "type": "token", "description": "User liked the feed item" }, "interactionRepost": { "type": "token", "description": "User reposted the feed item" }, "interactionReply": { "type": "token", "description": "User replied to the feed item" }, "interactionQuote": { "type": "token", "description": "User quoted the feed item" }, "interactionShare": { "type": "token", "description": "User shared the feed item" } }}