FeedIndex

Posts

API endpoints for listing and creating posts.

List posts

Retrieve approved posts for a board, sorted by vote count (highest first). Returns up to 50 posts. No authentication required.

GET /api/v1/public/boards/:id/posts

Query parameters

ParameterTypeDescription
tagsstringComma-separated tag slugs. Only posts matching all specified tags are returned.

Response

Returns a flat JSON array of posts:

[
  {
    "id": "uuid",
    "title": "Dark mode support",
    "description": "It would be great to have a dark theme option",
    "status": "planned",
    "statusLabel": "Planned",
    "statusColour": "#3b82f6",
    "voteCount": 42,
    "hasVoted": false,
    "tags": [
      { "id": "uuid", "slug": "ui", "name": "UI", "colour": "#3b82f6" }
    ]
  }
]

The hasVoted field reflects whether the current caller has voted, based on IP address and User-Agent.

Submit post

Create a new post on a board. Requires an API key.

POST /api/v1/public/boards/:id/posts

Request body

{
  "title": "Add keyboard shortcuts",
  "description": "It would be great to navigate with j/k keys",
  "email": "user@example.com",
  "name": "Jane Doe"
}
FieldRequiredDescription
titleYesPost title (max 120 characters)
descriptionNoPost body (max 50,000 characters)
emailYesSubmitter email
nameNoSubmitter display name (max 100 characters)

Response (201 Created)

{
  "id": "uuid",
  "title": "Add keyboard shortcuts",
  "description": "It would be great to navigate with j/k keys",
  "voteCount": 0,
  "status": "under_review",
  "statusLabel": "Under Review",
  "statusColour": "#a1a1aa",
  "hasVoted": false
}

Posts may require approval before appearing publicly, depending on the board's auto-publish setting.

On this page