Skip to content

Engagement

Endpoints in the Engagement group. All paths are relative to https://rmhstudios.com.

POST/api/v1/posts/{id}/likewrite:likesidempotent

Like a post. Idempotent — liking an already-liked post is a no-op.

Parameters

  • id (path, required)The post id.

Example response

{
  "liked": true,
  "likeCount": 4
}
DELETE/api/v1/posts/{id}/likewrite:likesidempotent

Remove your like from a post.

Parameters

  • id (path, required)The post id.

Example response

{
  "liked": false,
  "likeCount": 3
}
GET/api/v1/posts/{id}/commentsread:feed

Top-level comments on a post, newest first.

Parameters

  • id (path, required)The post id.
  • limit (query)Page size, 1–50 (default 20).
  • cursor (query)Opaque cursor from a previous `nextCursor` to fetch the next page.

Example response

{
  "data": [
    {
      "id": "ck_c1",
      "content": "nice",
      "createdAt": "2026-06-30T10:01:00.000Z",
      "author": {
        "id": "ck_user123",
        "name": "Ada",
        "handle": "ada",
        "image": "https://…"
      }
    }
  ],
  "nextCursor": null
}
POST/api/v1/posts/{id}/commentswrite:commentsidempotent

Add a comment (or threaded reply) to a post.

Parameters

  • id (path, required)The post id.

Body

  • content (string, required)1–280 characters.
  • parent_id (string)Comment id to reply to (optional).

Example request

{
  "content": "Great post!"
}

Example response (201)

{
  "id": "ck_c1",
  "content": "Great post!",
  "createdAt": "2026-06-30T10:01:00.000Z",
  "author": {
    "id": "ck_user123",
    "name": "Ada",
    "handle": "ada",
    "image": "https://…"
  }
}
POST/api/v1/posts/{id}/bookmarkwrite:bookmarksidempotent

Add a post to your bookmarks.

Parameters

  • id (path, required)The post id.

Example response

{
  "bookmarked": true
}
DELETE/api/v1/posts/{id}/bookmarkwrite:bookmarksidempotent

Remove a post from your bookmarks.

Parameters

  • id (path, required)The post id.

Example response

{
  "bookmarked": false
}