Comments

Search Comments

GET https://e621.net/comments.json

No comment information will be returned in this route. See Search Comments (Group By Comment). This is for ui use, so it doesn't serve much api use.

This route does not support the limit parameter. The maximum results will always be 5.

This route does not support search[id].

Query Parameters

NameTypeDescription

group_by

`post`

Where to start the relation of comments from.

tags

String

The tags of the posts.

page

String

{
  "posts": [
    {
      "approver_id": null, // user id
      "change_seq": 0,
      "comment_count": 0,
      "created_at": "0000-00-00T00:00:00.000-00:00",
      "description": "",
      "duration": null,
      "fav_count": 0,
      "file": {
        "ext": "png",
        "height": 4000,
        "md5": "dc3a90deef089384f39e45fdaea96e78",
        "size": 3681606,
        "url": "https://static1.e621.net/data/dc/3a/dc3a90deef089384f39e45fdaea96e78.png",
        "width": 4000
      },
      "flags": {
        "pending": false,
        "flagged": false,
        "note_locked": false,
        "status_locked": false,
        "rating_locked": true,
        "deleted": false
      },
      "has_notes": false,
      "id": 3405794,
      "is_favorited": false,
      "locked_tags": [],
      "pools": [], // numeric pool ids
      "preview": { // width/height may not be correct
        "height": 150,
        "url": "https://static1.e621.net/data/preview/dc/3a/dc3a90deef089384f39e45fdaea96e78.jpg",
        "width": 150
      },
      "rating": "s",
      "relationships": {
        "children": [], // numeric post ids
        "has_active_children": false,
        "has_children": false,
        "parent_id": null // post id
      },
      "sample": {
        "alternates": {},
        "has": false,
        "height": 850,
        "width": 850,
        "url": "https://static1.e621.net/data/sample/dc/3a/dc3a90deef089384f39e45fdaea96e78.jpg"
      },
      "score": {
        "up": 0,
        "down": 0,
        "total": 0
      },
      "sources": "https://twitter.com/broitsCody/status/1532629699083481088",
      "tags": {
        "general": [],
        "species": [],
        "character": [],
        "artist": [],
        "invalid": [],
        "lore": [],
        "meta": []
      },
      "updated_at": "0000-00-00T00:00:00.000-00:00",
      "uploader_id": 0
    }
  ]
}

Search Comments (Group By Comment)

GET https://e621.net/comments.json?group_by=comment

Query Parameters

NameTypeDescription

group_by*

String

comment

search[body_matches]

String

The body of the comment.

search[do_not_bump_post]

Boolean

If the post did not bump. The UI for searching inverts this option.

search[post_tags_match]

String

The tags of the post the comments are on.

search[creator_name]

String

The name of the creator of the comment.

search[creator_id]

Number

The ID of the creator of the comment.

search[is_hidden]

Boolean

If the comment is hidden.

search[is_sticky]

Boolean

If the comment is sticky (post as moderator).

search[post_id]

Number

The ID of the post the comment was made on. Multiple post ids can be separated by commas.

search[poster_id]

Number

The ID of the user that created the post the comment is on.

search[ip_addr]

String

The IP Address of the creator of the comment.

See Search Parameters: search[ip_addr].

search[order]

String

The order of the returned results. One of: post_id, post_id_desc, score, score_desc, updated_at, updated_at_desc

search[id]

Number

limit

Number

page

String

[
  {
    "body": "",
    "created_at": "0000-00-00T00:00:00.000-00:00",
    "creator_id": 0,
    "creator_name": "",
    "do_not_bump_post": false,
    "id": 0,
    "is_hidden": false,
    "is_sticky": false,
    "post_id": 0,
    "score": 0,
    "updated_at": "0000-00-00T00:00:00.000-00:00",
    "updater_id": 0,
    "updater_name": "",
    "warning_type": null, // warning, record, ban
    "warning_user_id": null
  }
]

Get Comment

GET https://e621.net/comments/{id}.json

Moderator+ Required If comment is hidden.

Path Parameters

NameTypeDescription

id*

Number

The ID of the comment.

{
  "body": "",
  "created_at": "0000-00-00T00:00:00.000-00:00",
  "creator_id": 0,
  "creator_name": "",
  "do_not_bump_post": false,
  "id": 0,
  "is_hidden": false,
  "is_sticky": false,
  "post_id": 0,
  "score": 0,
  "updated_at": "0000-00-00T00:00:00.000-00:00",
  "updater_id": 0,
  "updater_name": "",
  "warning_type": null, // warning, record, ban
  "warning_user_id": null
}

Add Warning To Comment

POST https://e621.net/comments/{id}/warning.json

Authorization Required

Moderator+ Required

This operation is idempotent.

Path Parameters

NameTypeDescription

id*

Number

The ID of the comment to add a warning to.

Request Body

NameTypeDescription

record_type*

String

The type of warning to add to the comment. One of: warning, record, ban, unmark.

{
  "html": "", // new comment html contents
  "posts": {}
}

Hide Comment

POST https://e621.net/comments/{id}/hide.json

Authorization Required

Moderator+ Required If the comment is not yours.

This operation is idempotent.

Path Parameters

NameTypeDescription

id*

Number

The ID of the comment to hide.

{
  "body": "",
  "created_at": "0000-00-00T00:00:00.000-00:00",
  "creator_id": 0,
  "creator_name": "",
  "do_not_bump_post": false,
  "id": 0,
  "is_hidden": false,
  "is_sticky": false,
  "post_id": 0,
  "score": 0,
  "updated_at": "0000-00-00T00:00:00.000-00:00",
  "updater_id": 0,
  "updater_name": "",
  "warning_type": null, // warning, record, ban
  "warning_user_id": null
}

Unhide Comment

POST https://e621.net/comments/{id}/unhide.json

Authorization Required

Moderator+ Required

This operation is idempotent.

Path Parameters

NameTypeDescription

id*

Number

The ID of the comment to unhide.

{
  "body": "",
  "created_at": "0000-00-00T00:00:00.000-00:00",
  "creator_id": 0,
  "creator_name": "",
  "do_not_bump_post": false,
  "id": 0,
  "is_hidden": false,
  "is_sticky": false,
  "post_id": 0,
  "score": 0,
  "updated_at": "0000-00-00T00:00:00.000-00:00",
  "updater_id": 0,
  "updater_name": "",
  "warning_type": null, // warning, record, ban
  "warning_user_id": null
}

Create Comment

POST https://e621.net/comments.json

Authorization Required

Privileged+ Required If account is less than one week old.

Moderator+ Required If comment section is locked.

Request Body

NameTypeDescription

comment[body]*

String

The body of the comment.

Min: 1 / Max: 10,000

comment[post_id]*

Number

The ID of the post to comment on.

comment[is_sticky]

Boolean

If the comment is sticky (post as moderator).

Moderator+ Required

comment[is_hidden]

Boolean

If the comment is hidden.

Moderator+ Required

comment[do_not_bump_post]

Boolean

If the post should not be bumped.

{
  "body": "",
  "created_at": "0000-00-00T00:00:00.000-00:00",
  "creator_id": 0,
  "creator_name": "",
  "do_not_bump_post": false,
  "id": 0,
  "is_hidden": false,
  "is_sticky": false,
  "post_id": 0,
  "score": 0,
  "updated_at": "0000-00-00T00:00:00.000-00:00",
  "updater_id": 0,
  "updater_name": "",
  "warning_type": null, // warning, record, ban
  "warning_user_id": null
}

Edit Comment

PATCH https://e621.net/comments/{id}.json

Authorization Required

Moderator+ Required If comment section is locked.

Admin+ Required If the comment is not yours.

Edits performed within 5 minutes of creation will not show the "edited" text.

If the comment is not yours, the edit text will show "updated by NAME". This ignores the normal time window.

Moderator+ Required if comment is marked (shows warn, record, or ban message).

This operation is idempotent.

Path Parameters

NameTypeDescription

id*

Number

The ID of the comment to edit.

Request Body

NameTypeDescription

comment[body]*

String

The body of the comment.

Min: 1 / Max: 10,000

comment[is_sticky]

Boolean

If the comment is sticky (post as moderator).

Moderator+ Required if own comment

Admin+ Required otherwise

comment[is_hidden]

Boolean

If the comment is hidden.

Moderator+ Required if own comment

Admin+ Required otherwise

Delete Comment

DELETE https://e621.net/comments/{id}.json

Authorization Required

Admin+ Required

Path Parameters

NameTypeDescription

id*

Number

The ID of the comment to delete.

Vote On Comment

POST https://e621.net/comments/{id}/votes.json

Authorization Required

Privileged+ Required If account is less than 3 days old.

New votes cannot be cast if the comments section is locked. To remove an existing vote, send a request with the current vote. (e.g. -1 = send -1, they will cancel out). You can also use the DELETE method.

Path Parameters

NameTypeDescription

id*

Number

The ID of the comment to vote on.

Request Body

NameTypeDescription

score*

Number

The vote to cast. One of: -1, 1.

no_unvote

Boolean

If the vote should not be removed if it already exists.

{
  "score": 1,
  "our_score": 1 // our current vote: -1, 0, 1
}

Remove Comment Vote

DELETE https://e621.net/comments/{id}/votes.json

Authorization Required

The only vote removed will be the currently authenticated user's vote.

This operation is idempotent.

Path Parameters

NameTypeDescription

id*

Number

The ID of the comment to remove the vote from.

Last updated