Post Endpoints
Description of endpoints used to get data related to posts on the DeSo blockchain
Please make sure you've read Data: API so you are familiar with the following types referenced in this documentation:
Get Posts Stateless
POST
/api/v0/get-posts-stateless
Get Posts Stateless returns an array of posts based on the request body. This endpoint is used to fetch posts for many different kinds of feeds.
To fetch the global feed, set GetPostsForGlobalWhitelist
to true
To fetch the following feed for a user, set GetPostsforFollowFeed
to true
To fetch the admin view of posts ordered by creator coin price, set GetPostsByDeSo
to true
and provide a value for PostsByDESOMinutesLookback
Endpoint implementation in backend.
Example usages in frontend: - Make request to Get Posts Stateless - Use Get Posts Stateless to get the global feed - Use Get Posts Stateless to get the following feed for a user - Use Get Posts Stateless to get posts ordered by time for an admin to curate the global feed - Use Get Posts Stateless to get posts from user's with the high coin prices in the last hour
Request Body
Name | Type | Description |
---|---|---|
GetPostsForFollowFeed | Boolean | If true, get posts from creators that the reader follows |
OrderBy | String | Order the posts by certain attributes |
NumToFetch* | int | Maximum Number of posts to return |
ReaderPublicKeyBase58Check | String | Public key of the reader |
PostHashHex | String | Start paginated look-up of posts after this post hash |
GetPostsForGlobalWhitelist | Boolean | If true, get posts for the global feed - these are posts that have been manually selected for the global feed |
PostContent | String | Filters out posts that do not match the text provided in PostContent (case-insensitive) |
StartTstampSecs | uint64 | deprecated |
FetchSubcomments | Boolean | If true, fetches comments on comments of each post. Note: not implemented for the following feed |
GetPostsByDESO | Boolean | Get posts from the creators with the highest DESO locked within a certain timeframe |
GetPostsByClout | Boolean | deprecated - use GetPostsByDESO instead |
MediaRequired | Boolean | If true, filter out posts that do not have images or video in them |
PostsByDESOMinutesLookback | uint64 | If GetPostsByDESO is true, get all posts within PostsByDESOMinutesLookback, order them by the creator's DESO locked, and take the top NumToFetch posts. Must be 60 or less |
AddGlobalFeedBool | Boolean | If set to true, then the posts in the response will contain a boolean about whether they're in the global feed |
Get Single Post
POST
/api/v0/get-single-post
Gets a single post, optionally including parents and children. This endpoint is used to display a thread view of a post.
Endpoint implementation in backend.
Example usages in frontend: - Make request to Get Single Post - Use GetSinglePost to get a thread view of a post
Request Body
Name | Type | Description |
---|---|---|
PostHashHex* | String | Hex of Post Hash to fetch |
FetchParents | Boolean | if true, fetch all parents of this post, up to 100 parents. |
CommentOffset | uint32 | Offset at which to begin result set of comments returned. Defaults to 0 |
CommentLimit* | uint32 | number of comments to return, starting at CommentOffset |
ReaderPublicKeyBase58Check | String | public key of the user reading this single post |
AddGlobalFeedBool | Boolean | if set to true, then the posts in the response will contain a boolean indicating if they're in the global feed |
Get Posts For Public Key
POST
/api/v0/get-posts-for-public-key
Get posts created by a public key or username. This endpoint is used to populate the posts on a user's profile page.
Endpoint implementation in backend.
Example usages in frontend: - Make request to Get Posts For Public Key - Use GetPostsForPublicKey to get posts to display on a user's profile
Request Body
Name | Type | Description |
---|---|---|
PublicKeyBase58Check | String | Public key of the user whose posts we will fetch Only required if Username is not provided |
Username | String | Username of the user whose posts we will fetch Only required if PublicKeyBase58Check is not provided |
ReaderPublicKeyBase58Check | String | public key of the user reading the posts |
LastPostHashHex | String | Hex of the Post Hash that ended the previous page of results |
NumToFetch* | uint64 | Number of posts to fetch |
MediaRequired | Boolean | if true, only return posts that have images, videos, or embed video URLs. |
Get Hot Feed
POST
/api/v0/get-hot-feed
Get Hot Feed returns a page of Posts that are currently "hot". A post's hotness is determined by the time since the post was created and the number of likes, diamonds, comments, reposts, and quote reposts.
Endpoint implementation in backend.
Example usages in diamondapp.com's frontend: - Make request to Get Hot Feed - Use GetHotFeed to get posts to display to the user in the Hot Feed tab
Request Body
Name | Type | Description |
---|---|---|
ReaderPublicKeyBase58Check | String | public key of the user reading the posts |
SeenPosts | String[] | A list of posts that have already been seen by the reader |
ResponseLimit | uint64 | Number of posts to fetch |
Get Diamonded Posts
POST
/api/v0/get-diamonded-posts
Get all posts on which sender sent diamonds to the receiver. Posts are sorted by the number of diamonds given from the sender to the receiver and then by timestamp.
Endpoint implementation in backend.
Example usages in frontend: - Make request to Get Diamonded Posts - Use GetDiamondedPosts to get posts in which a specific user received diamonds from another specific user. Example on node.deso.org
Request Body
Name | Type | Description |
---|---|---|
ReceiverPublicKeyBase58Check | String | Public key of the user who received diamonds from sender Only required if ReceiverUsername is not provided |
ReceiverUsername | String | Username of the user who received diamonds from sender Only required if ReceiverPublicKeyBase58Check is not provided |
SenderPublicKeyBase58Check | String | Public key of the user who sent diamonds to the receiver Only required if SenderUsername is not provided |
SenderUsername | String | Username of the user who sent diamonds to the receiver Only required if SenderPublicKeyBase58Check is not provided |
ReaderPublicKeyBase58Check | String | public key of the user reading the posts |
StartPostHashHex | String | Hex of the first Post Hash to include in this page of results |
NumToFetch* | uint64 | Number of posts to fetch |
MediaRequired | Boolean | if true, only return posts that have images, videos, or embed video URLs. |
Get Likes For Post
POST
/api/v0/get-likes-for-post
Get Profiles of users who liked a given post.
Endpoint implementation in backend.
Example usages in frontend: - Make request to Get Likes For Post - Use GetLikesForPosts to show all users who have liked a po
Request Body
Name | Type | Description |
---|---|---|
PostHashHex* | String | Hex of Post hash for which we want to retrieve likes |
Offset* | uint32 | Position at which to return this page of results |
Limit* | uint32 | Number of profiles to return in this page of results |
ReaderPublicKeyBase58Check | String | Public key of the reader |
Get Diamonds For Post
POST
/api/v0/get-diamonds-for-post
Get Profiles and number of diamonds for users who gave diamonds to a given post
Endpoint implementation in backend.
Example usages in frontend: - Make request to Get Diamonds For Post - Use GetDiamondsForPosts to show all users who have diamonded a post and how many diamonds the user gave
Request Body
Name | Type | Description |
---|---|---|
PostHashHex* | String | Hex of Post hash for which we want to retrieve profiles and diamonds |
Offset* | uint32 | Position at which to return this page of results |
Limit* | uint32 | Number of profiles to return in this page of results |
ReaderPublicKeyBase58Check | String | Public key of the reader |
Get Reposts For Post
POST
/api/v0/get-reposts-for-post
Get Profiles of users who reposted (without a quote) a given post
Endpoint implementation in backend.
Example usages in frontend: - Make request to Get Reposts For Post - Use GetRepostsForPosts to show all users who have reposted a post
Request Body
Name | Type | Description |
---|---|---|
PostHashHex* | String | Hex of Post hash for which we want to retrieve reposters |
Offset* | uint32 | Position at which to return this page of results |
Limit* | uint32 | Number of profiles to return in this page of results |
ReaderPublicKeyBase58Check | String | Public key of the reader |
Get Quote Reposts For Post
POST
/api/v0/get-quote-reposts-for-post
Get profiles of users who quote reposted a given post and the content of the quote repost
Endpoint implementation in backend.
Example usages in frontend: - Make request to Get Quote Reposts For Post - Use GetQuoteRepostsForPost to show all users who have quoted reposted a post and what the quote said
Request Body
Name | Type | Description |
---|---|---|
PostHashHex* | String | Hex of Post hash for which we want to retrieve quote reposters |
Offset* | uint32 | Position at which to return this page of results |
Limit* | uint32 | Number of profiles to return in this page of results |
ReaderPublicKeyBase58Check | String | Public key of the reader |
Last updated