the browser-facing portion of osu!
at master 104 lines 3.8 kB view raw view rendered
1## CommentBundle 2```json 3{ 4 "commentable_meta": [ 5 { 6 "id": 407, 7 "title": "Clicking circles linked to increased performance", 8 "type": "news_post", 9 "url": "https://osu.ppy.sh/home" 10 } 11 ], 12 "comments": [ 13 { 14 "commentable_id": 407, 15 "commentable_type": "news_post", 16 "created_at": "2019-09-05T06:31:20+00:00", 17 "deleted_at": null, 18 "edited_at": null, 19 "edited_by_id": null, 20 "id": 276, 21 "legacy_name": null, 22 "message": "yes", 23 "message_html": "<div class='osu-md-default'><p class=\"osu-md-default__paragraph\">yes</p>\n</div>", 24 "parent_id": null, 25 "replies_count": 0, 26 "updated_at": "2019-09-05T06:31:20+00:00", 27 "user_id": 1, 28 "votes_count": 1337 29 }, 30 { 31 "commentable_id": 407, 32 "commentable_type": "news_post", 33 "created_at": "2019-09-05T07:31:20+00:00", 34 "deleted_at": null, 35 "edited_at": null, 36 "edited_by_id": null, 37 "id": 277, 38 "legacy_name": null, 39 "message": "absolutely", 40 "message_html": "<div class='osu-md-default'><p class=\"osu-md-default__paragraph\">absolutely</p>\n</div>", 41 "parent_id": null, 42 "replies_count": 0, 43 "updated_at": "2019-09-05T07:31:20+00:00", 44 "user_id": 2, 45 "votes_count": 1337 46 } 47 ], 48 "has_more": true, 49 "has_more_id": 276, 50 "included_comments": [], 51 "pinned_comments": [], 52 "sort": "new", 53 "user_follow": false, 54 "user_votes": [277], 55 "users": [ 56 { 57 "avatar_url": "https://a.ppy.sh/2?1519081077.png", 58 "country_code": "AU", 59 "default_group": "pippi", 60 "id": 1, 61 "is_active": true, 62 "is_bot": false, 63 "is_online": true, 64 "is_supporter": true, 65 "last_visit": "2025-09-05T08:35:00+00:00", 66 "pm_friends_only": false, 67 "profile_colour": null, 68 "username": "pippi" 69 }, 70 { 71 "avatar_url": "https://a.ppy.sh/2?1519081077.png", 72 "country_code": "AU", 73 "default_group": "yuzu", 74 "id": 2, 75 "is_active": true, 76 "is_bot": false, 77 "is_online": false, 78 "is_supporter": true, 79 "last_visit": "2025-09-04T09:28:00+00:00", 80 "pm_friends_only": false, 81 "profile_colour": null, 82 "username": "yuzu" 83 } 84 ] 85} 86``` 87 88Comments and related data. 89 90Field | Type | Description 91----------------- | ------------------------------------- | -------------------------------------------------------------- 92commentable_meta | [CommentableMeta](#commentablemeta)[] | ID of the object the comment is attached to 93comments | [Comment](#comment)[] | Array of comments ordered according to `sort`; 94cursor | [Cursor](#cursor) | 95has_more | boolean | If there are more comments or replies available 96has_more_id | integer? | 97included_comments | [Comment](#comment)[] | Related comments; e.g. parent comments and nested replies 98pinned_comments | [Comment](#comment)[]? | Pinned comments 99sort | string | one of the [CommentSort](#commentsort) types 100top_level_count | integer? | Number of comments at the top level. Not returned for replies. 101total | integer? | Total number of comments. Not retuned for replies. 102user_follow | boolean | is the current user watching the comment thread? 103user_votes | integer[] | IDs of the comments in the bundle the current user has upvoted 104users | [User](#user)[] | array of users related to the comments