Skip to content

Content

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

GET/api/v1/buildsread:builds

The public builds marketplace, newest first.

Parameters

  • category (query)Filter by category slug.
  • limit (query)Page size, 1–50 (default 20).
  • cursor (query)Opaque cursor from a previous `nextCursor` to fetch the next page.

Example response

{
  "data": [
    {
      "slug": "my-build",
      "title": "My Build",
      "description": "…",
      "author": {
        "id": "ck_user123",
        "name": "Ada",
        "handle": "ada",
        "image": "https://…"
      },
      "technologies": [
        "react"
      ],
      "price": null,
      "metrics": {
        "likes": 4,
        "comments": 1,
        "views": 90
      },
      "publishedAt": "2026-06-01T00:00:00.000Z"
    }
  ],
  "nextCursor": null
}
GET/api/v1/builds/{slug}read:builds

A single public build, including its readme.

Parameters

  • slug (path, required)The build slug.

Example response

{
  "slug": "my-build",
  "title": "My Build",
  "description": "…",
  "readme": "# My Build",
  "repoUrl": null,
  "demoUrl": null,
  "author": {
    "id": "ck_user123",
    "name": "Ada",
    "handle": "ada",
    "image": "https://…"
  },
  "technologies": [
    "react"
  ],
  "metrics": {
    "likes": 4,
    "comments": 1,
    "views": 90
  }
}
GET/api/v1/blogread:content

RMH Studios devlog posts, newest first.

Parameters

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

Example response

{
  "data": [
    {
      "slug": "hello",
      "title": "Hello",
      "description": "…",
      "date": "2026-06-01",
      "tags": [
        "news"
      ]
    }
  ],
  "nextCursor": null
}
GET/api/v1/blog/{slug}read:content

A single blog post, including markdown content.

Parameters

  • slug (path, required)The post slug.

Example response

{
  "slug": "hello",
  "title": "Hello",
  "description": "…",
  "date": "2026-06-01",
  "tags": [
    "news"
  ],
  "content": "# Hello"
}
GET/api/v1/newsread:content

Published news articles, newest first.

Parameters

  • category (query)Filter by category.
  • limit (query)Page size, 1–50 (default 20).
  • cursor (query)Opaque cursor from a previous `nextCursor` to fetch the next page.

Example response

{
  "data": [
    {
      "slug": "big-news",
      "title": "Big News",
      "description": "…",
      "date": "2026-06-01",
      "category": "updates",
      "featured": false
    }
  ],
  "nextCursor": null
}
GET/api/v1/news/{slug}read:content

A single published news article.

Parameters

  • slug (path, required)The article slug.

Example response

{
  "slug": "big-news",
  "title": "Big News",
  "description": "…",
  "date": "2026-06-01",
  "category": "updates",
  "content": "…",
  "source": {
    "title": "…",
    "url": "https://…",
    "publisher": "…"
  }
}
GET/api/v1/leaderboards/{game}read:leaderboards

Top scores for a game. Supported games are listed in the response of an unknown game (400).

Parameters

  • game (path, required)Game key, e.g. `vega`, `void-breaker`, `signal-forge`, `neon-driftway`, `laundry`, `synapse-storm`.
  • limit (query)Page size, 1–100 (default 25).

Example response

{
  "game": "vega",
  "metric": "highScore",
  "data": [
    {
      "rank": 1,
      "username": "ada",
      "score": 99999,
      "gamesPlayed": 12
    }
  ]
}