Skip to main content

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.

Comments are threaded replies attached to a post or to other comments. The Comments API covers submitting new comments, retrieving comment threads and permalinks, voting, editing, and deletion. The same /api/vote endpoint handles both post and comment voting — the fullname prefix (t1_ for comments, t3_ for posts) distinguishes the target type.

POST /api/comment

Submits a new comment as a reply to a post, an existing comment, or a message. Requires the submit OAuth2 scope for post and comment replies, or privatemessages for message replies.
parent
string
required
The fullname of the thing being replied to. Use a t3_ fullname to create a top-level comment on a post, a t1_ fullname to reply to an existing comment, or a t4_ fullname to reply to a private message.
text
string
required
The comment body in Markdown. Maximum 10,000 characters.
# Reply to a post (top-level comment)
curl -X POST https://<your-artemis-instance>/api/comment \
  -H "Authorization: Bearer <token>" \
  -d "parent=t3_abc12&text=Great+article%2C+thanks+for+sharing."

# Reply to an existing comment
curl -X POST https://<your-artemis-instance>/api/comment \
  -H "Authorization: Bearer <token>" \
  -d "parent=t1_xyz99&text=I+agree+with+this+point."
{
  "json": {
    "errors": [],
    "data": {
      "things": [
        {
          "kind": "t1",
          "data": {
            "id": "xyz99",
            "name": "t1_xyz99",
            "author": "alice",
            "body": "Great article, thanks for sharing.",
            "body_html": "&lt;div class=\"md\"&gt;&lt;p&gt;Great article, thanks for sharing.&lt;/p&gt;&lt;/div&gt;",
            "created_utc": 1714000000,
            "score": 1,
            "link_id": "t3_abc12",
            "parent_id": "t3_abc12",
            "subreddit": "programming",
            "permalink": "/r/programming/comments/abc12/an_article_title/xyz99/"
          }
        }
      ]
    }
  }
}
id
string
Base-36 comment ID.
name
string
Comment fullname (e.g. t1_xyz99).
author
string
Username of the comment author.
body
string
Comment body in raw Markdown.
body_html
string
Comment body rendered as safe HTML.
created_utc
number
Unix timestamp of when the comment was created.
score
number
Net vote score.
Fullname of the parent post.
parent_id
string
Fullname of the immediate parent (post or comment).
subreddit
string
Branch the comment belongs to.
Relative URL to the comment’s permalink page.
Comment submission is rate-limited unless the author has sufficient karma or is the post’s author commenting on their own self-post.

GET /r/:branch/comments/:article/:title/:comment.json

Returns a focused view of a comment thread, with the specified comment highlighted as the focal point.
branch
string
required
The branch name.
article
string
required
The base-36 ID of the parent post.
title
string
The URL-encoded post title slug. Can be omitted or replaced with a placeholder; the server resolves the article by ID.
comment
string
The base-36 ID of the focal comment. When present, the response shows this comment and its thread, with surrounding context according to the context query parameter.
context
number
Number of ancestor comments to include above the focal comment. Maximum 8.
depth
number
Maximum depth of the comment subtree to return.
limit
number
default:"200"
Maximum number of comments to include in the listing.
sort
string
default:"confidence"
Comment sort order. One of confidence, top, new, controversial, old, random, or qa.
curl "https://<your-artemis-instance>/r/programming/comments/abc12/an_article_title/xyz99.json?context=3"
The response is a two-element array: [post_listing, comment_listing], identical in structure to the /comments/:article.json response but focused on the specified comment.

POST /api/vote

Votes on a comment (or post). Requires the vote OAuth2 scope. The same endpoint handles both posts and comments — the t1_ prefix in the fullname identifies a comment target.
id
string
required
The fullname of the comment to vote on (e.g. t1_xyz99).
dir
number
required
Vote direction. 1 for an upvote, -1 for a downvote, 0 to retract a previous vote.
rank
number
The rank of the item in the listing at the time of voting, for analytics purposes.
curl -X POST https://<your-artemis-instance>/api/vote \
  -H "Authorization: Bearer <token>" \
  -d "id=t1_xyz99&dir=1"
Voting must reflect a genuine human action. Bot-driven voting or vote amplification violates the platform rules and may result in the account being flagged as spam.

POST /api/editusertext

Edits the body of a comment or the text of a self-post. Only the original author can call this endpoint. Requires the edit OAuth2 scope.
thing_id
string
required
Fullname of the comment or self-post to edit (e.g. t1_xyz99 for a comment, t3_abc12 for a self-post).
text
string
required
The replacement Markdown body. Maximum 10,000 characters for comments; longer limits apply to self-posts.
curl -X POST https://<your-artemis-instance>/api/editusertext \
  -H "Authorization: Bearer <token>" \
  -d "thing_id=t1_xyz99&text=Updated+comment+body."
Comments that are more than 3 minutes old or have more than 2 votes will be marked as edited. The edit timestamp is stored in the editted field.

POST /api/del

Deletes a comment. Only the comment’s author can delete it. Requires the edit OAuth2 scope. The same endpoint is used to delete posts; the fullname prefix distinguishes the target type.
id
string
required
Fullname of the comment to delete (e.g. t1_xyz99).
curl -X POST https://<your-artemis-instance>/api/del \
  -H "Authorization: Bearer <token>" \
  -d "id=t1_xyz99"
Deleted comments remain in the thread but their body is replaced with [deleted] and the author field shows [deleted].

GET /user/:username/comments.json

Returns a paginated listing of all comments made by a user.
username
string
required
The account username.
sort
string
default:"new"
Sort order. One of new, hot, top, or controversial.
t
string
default:"all"
Time window when sort is top. One of hour, day, week, month, year, or all.
after
string
Fullname cursor for forward pagination.
before
string
Fullname cursor for backward pagination.
limit
number
default:"25"
Number of comments to return. Maximum is 100.
curl "https://<your-artemis-instance>/user/alice/comments.json?sort=new&limit=20"
{
  "kind": "Listing",
  "data": {
    "after": "t1_xyz99",
    "before": null,
    "children": [
      {
        "kind": "t1",
        "data": {
          "id": "xyz99",
          "name": "t1_xyz99",
          "author": "alice",
          "body": "Great article, thanks for sharing.",
          "score": 14,
          "link_id": "t3_abc12",
          "subreddit": "programming",
          "created_utc": 1714000000,
          "permalink": "/r/programming/comments/abc12/an_article_title/xyz99/"
        }
      }
    ]
  }
}

Build docs developers (and LLMs) love