Skip to content

app.bsky.feed.defs

Lexicon Version: 1

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
uristringFormat: at-uri
cidstringFormat: cid
authorapp.bsky.actor.defs#profileViewBasic
recordunknown
embedUnion of:
  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
bookmarkCountinteger
replyCountinteger
repostCountinteger
likeCountinteger
quoteCountinteger
indexedAtstringFormat: datetime
viewer#viewerState
labelsArray of com.atproto.label.defs#label
threadgate#threadgateView

Type: object

Metadata about the requesting account’s relationship with the subject content. Only has meaningful content for authed requests.

Properties:

NameTypeReq’dDescriptionConstraints
repoststringFormat: at-uri
likestringFormat: at-uri
bookmarkedboolean
threadMutedboolean
replyDisabledboolean
embeddingDisabledboolean
pinnedboolean

Type: object

Metadata about this post within the context of the thread it is in.

Properties:

NameTypeReq’dDescriptionConstraints
rootAuthorLikestringFormat: at-uri

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
post#postView
reply#replyRef
reasonUnion of:
  #reasonRepost
  #reasonPin
feedContextstringContext provided by feed generator that may be passed back alongside interactions.Max Length: 2000
reqIdstringUnique identifier per request that may be passed back alongside interactions.Max Length: 100

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
rootUnion of:
  #postView
  #notFoundPost
  #blockedPost
parentUnion of:
  #postView
  #notFoundPost
  #blockedPost
grandparentAuthorapp.bsky.actor.defs#profileViewBasicWhen parent is a reply to another post, this is the author of that post.

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
byapp.bsky.actor.defs#profileViewBasic
uristringFormat: at-uri
cidstringFormat: cid
indexedAtstringFormat: datetime

Type: object

Properties:

(No properties defined)


Type: object

Properties:

NameTypeReq’dDescriptionConstraints
post#postView
parentUnion of:
  #threadViewPost
  #notFoundPost
  #blockedPost
repliesArray of Union of:
  #threadViewPost
  #notFoundPost
  #blockedPost
threadContext#threadContext

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
uristringFormat: at-uri
notFoundbooleanConst: true

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
uristringFormat: at-uri
blockedbooleanConst: true
author#blockedAuthor

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
didstringFormat: did
viewerapp.bsky.actor.defs#viewerState

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
uristringFormat: at-uri
cidstringFormat: cid
didstringFormat: did
creatorapp.bsky.actor.defs#profileView
displayNamestring
descriptionstringMax Length: 3000
Max Graphemes: 300
descriptionFacetsArray of app.bsky.richtext.facet
avatarstringFormat: uri
likeCountintegerMin: 0
acceptsInteractionsboolean
labelsArray of com.atproto.label.defs#label
viewer#generatorViewerState
contentModestringKnown Values: app.bsky.feed.defs#contentModeUnspecified, app.bsky.feed.defs#contentModeVideo
indexedAtstringFormat: datetime

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
likestringFormat: at-uri

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
poststringFormat: at-uri
reasonUnion of:
  #skeletonReasonRepost
  #skeletonReasonPin
feedContextstringContext that will be passed through to client and may be passed to feed generator back alongside interactions.Max Length: 2000

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
repoststringFormat: at-uri

Type: object

Properties:

(No properties defined)


Type: object

Properties:

NameTypeReq’dDescriptionConstraints
uristringFormat: at-uri
cidstringFormat: cid
recordunknown
listsArray of app.bsky.graph.defs#listViewBasic

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
itemstringFormat: at-uri
eventstringKnown 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
feedContextstringContext on a feed item that was originally supplied by the feed generator on getFeedSkeleton.Max Length: 2000
reqIdstringUnique identifier per request that may be passed back alongside interactions.Max Length: 100

Type: token

Request that less content like the given feed item be shown in the feed


Type: token

Request that more content like the given feed item be shown in the feed


Type: token

User clicked through to the feed item


Type: token

User clicked through to the author of the feed item


Type: token

User clicked through to the reposter of the feed item


Type: token

User clicked through to the embedded content of the feed item


Type: token

Declares the feed generator returns any types of posts.


Type: token

Declares the feed generator returns posts containing app.bsky.embed.video embeds.


Type: token

Feed item was seen by user


Type: token

User liked the feed item


Type: token

User reposted the feed item


Type: token

User replied to the feed item


Type: token

User quoted the feed item


Type: token

User shared the feed item


{
"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"
}
}
}