Posts (internally called Links) are the primary content unit in Artemis. Each post belongs to a branch and is either a link submission pointing to an external URL or a self-post containing inline text. The Posts API covers submission, sorted listings, voting, saving, reporting, and deletion. All write operations require an authenticated session or a valid OAuth2 bearer token.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/artemis-development-group/artemis/llms.txt
Use this file to discover all available pages before exploring further.
POST /api/submit
Submits a new post to a branch. Requires thesubmit OAuth2 scope.
The post title. Maximum length is enforced by the server.
The name of the branch to submit to (e.g.
programming).Post type. Use
link for a URL submission or self for a text post.The URL to submit. Required when
kind is link.The body text of the self-post in Markdown. Used when
kind is self.When
true, allows submitting a URL that has already been posted to the branch without returning an ALREADY_SUB error.When
true, comment reply notifications are sent to the post author’s inbox. Defaults to true for self-posts.Mark the post as NSFW.
Mark the post as a spoiler.
Extension used for the redirect URL if a resubmit error occurs (e.g.
json).- Link post
- Self post
The permalink to the newly created post.
The base-36 ID of the new post.
The fullname of the new post (type prefix
t3_ followed by the base-36 ID).GET /r/:branch/:sort.json
Returns a paginated listing of posts in a branch, sorted as specified. No authentication is required for public branches.The branch name.
Sort method. One of
hot, new, top, rising, or controversial.Time window used when
sort is top or controversial. One of hour, day, week, month, year, or all.Fullname cursor for forward pagination.
Fullname cursor for backward pagination.
Number of posts to return. Maximum is 100.
Base-36 post ID.
Fullname (e.g.
t3_abc12).Post title.
Username of the post author.
Branch the post was submitted to.
Net vote score (upvotes minus downvotes).
The URL of a link post, or the post’s own permalink for self-posts.
Whether the post is a self-post.
Body text for self-posts in Markdown. Empty for link posts.
Total comment count.
Whether the post is marked NSFW.
Unix timestamp of post creation.
Relative URL to the post’s comment page.
GET /comments/:article.json
Returns a post together with its full comment tree. The first element of the response array is the post listing; the second is the comment listing.The base-36 ID of the post.
Comment sort order. One of
confidence, top, new, controversial, old, random, or qa.Maximum number of comments to return.
Maximum depth of comment subtrees to include.
Number of parent comments to show when a specific
comment ID is supplied.Base-36 ID of a specific comment to focus the response on.
[post_listing, comment_listing].
POST /api/vote
Casts a vote on a post or comment. Requires thevote OAuth2 scope. See also Comments — voting.
The fullname of the post or comment to vote on (e.g.
t3_abc12).Vote direction.
1 for an upvote, -1 for a downvote, 0 to retract a previous vote.The rank of the item in the listing at the time of voting, for analytics purposes.
Votes must represent genuine human actions. Automated bots that cast votes independently, or that amplify votes beyond a one-to-one reflection of a human action, violate the platform rules.
Saving and unsaving posts
- POST /api/save
- POST /api/unsave
POST /api/report
Reports a post (or comment) to the branch’s moderators. Reporting a post also hides it from the reporting user’s listing view unless they are an admin or moderator.Fullname of the post or comment to report.
A short reason string. Pass
site_reason_selected to use a site-level reason, or other to supply a custom message via other_reason.The selected site-level reason (used when
reason is site_reason_selected).Custom reason text. Maximum 100 characters. Used when
reason is other.GET /api/info.json
Returns a listing of posts matching a URL or a set of fullnames.A URL to look up posts for. When provided, returns posts that link to this URL.
Comma-separated list of up to 100 fullnames to look up (e.g.
t3_abc12,t3_def34).POST /api/del
Deletes a post. Only the post’s author can delete it. Requires theedit OAuth2 scope.
Fullname of the post to delete (e.g.
t3_abc12).