List posts

Stable cursor scans sort by descending creation time (millisecond precision), then ID, and retain the first request time bound. Later inserts outside the initial millisecond are excluded. Boundary deletion and vote changes do not shift pages. This is not a historical snapshot: deletions and changes in filter membership remain live. Offset pages may shift under writes.

get/posts

Request

  • Base URL: https://app.voteship.app/api/v1
  • URL: https://app.voteship.app/api/v1/posts
  • Auth: HTTP bearer

Query parameters

status'PENDING' | 'APPROVED' | 'IN_PROGRESS' | 'COMPLETE' | 'CLOSED' | 'ARCHIVED'

Filter by status

sort'votes' | 'date'

Legacy default votes; cursor mode defaults to and requires date. Ties use creation time then ID.

pageinteger

Page number

limitinteger

Results per page

cursorstring

Empty string starts a scan; then use nextCursor. Cannot combine with page or sort=votes. Keep status and updated_since unchanged.

updated_sincestring date-time

Inclusive updatedAt lower bound; does not include deletion tombstones.

Response

Paginated list of posts

Example response

{
  "data": [
    {
      "id": "V1StGXR8_Z5jdHi6B-myT",
      "title": "PDF export support",
      "voteCount": 42,
      "tags": [
        {
          "label": "Mobile",
          "theme": "#6366f1"
        }
      ]
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.