Skip to content

Post API โ€‹

Common Parameters โ€‹

ParameterTypeDescription
channel_slugstringThe slug or numeric ID of the channel
post_idstringThe slug or numeric ID of the post

Get Post List โ€‹

prolog
GET API_BASE/lists/:channel_slug/posts?offset=:offset&limit=:limit&public=:public

Parameters โ€‹

ParameterTypeDescription
channel_slugstringThe slug or numeric ID of the channel
offsetnumberThe offset of the post list
limitnumberThe limit of the post list
publicnumber1: public posts, 0: all posts
typestringOptional. Filters posts for channel owners/cooperators (e.g. draft).
sortstringOptional. Use score to sort by score.
idsstringOptional. Comma-separated numeric post IDs. Requires authorization.

Notes โ€‹

  • limit defaults to 16 when omitted.
  • When public is set or the caller is not authenticated, only published posts are returned.
  • When ids is set, the response is a plain array of PostObject without pagination.

Response โ€‹

json
{
  "data": {
    "pagination": {
      "total": 100,
      "offset": 0,
      "next_offset": 20,
      "limit": 20
    },
    "items": [PostObject, ...]
  },
  "ts": 1723923923
}

Get Post โ€‹

prolog
GET API_BASE/lists/:channel_slug/posts/:post_id

Parameters โ€‹

Same as Common Parameters.

Response โ€‹

json
{
  "data": PostObject,
  "ts": 1723923923
}

Get Pinned Posts โ€‹

prolog
GET API_BASE/lists/:channel_slug/pinned

Parameters โ€‹

ParameterTypeDescription
channel_slugstringThe slug or numeric ID of the channel

Response โ€‹

json
{
  "data": [PostObject, ...],
  "ts": 1723923923
}

Pin Posts โ€‹

prolog
PUT API_BASE/lists/:channel_slug/pinned

Authorization Required โ€‹

OAuthAPIKey
YesYes

Parameters โ€‹

ParameterTypeDescription
channel_slugstringThe slug or numeric ID of the channel

Request Body โ€‹

json
{
  "ids": [1, 2, 3]
}

Response โ€‹

json
{
  "data": [1, 2, 3],
  "ts": 1723923923
}

Check Post Slug Existence โ€‹

prolog
GET API_BASE/lists/:channel_slug/posts/check/:slug

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Parameters โ€‹

ParameterTypeDescription
channel_slugstringThe slug or numeric ID of the channel
slugstringThe post slug to check

Response โ€‹

json
{
  "data": {
    "existence": 0
  },
  "ts": 1723923923
}

Create Post โ€‹

prolog
POST API_BASE/lists/:channel_slug/posts

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Parameters โ€‹

ParameterTypeDescription
channel_slugstringThe slug or numeric ID of the channel

Request Body โ€‹

json
{
  "slug": "post-slug",
  "cover_image_url": "https://...",
  "title": "Post Title",
  "summary": "...",
  "content": "...",
  "datetime": "2025-04-19T00:00:00Z",
  "first_published_at": "2025-04-19T00:00:00Z",
  "tags": "tag1,tag2,tag3",
  "theme": "light"
}

Response โ€‹

json
{
  "data": PostObject,
  "ts": 1723923923
}

Update Post โ€‹

prolog
PUT API_BASE/lists/:channel_slug/posts/:post_id/update

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Parameters โ€‹

ParameterTypeDescription
channel_slugstringThe slug or numeric ID of the channel
post_idstringThe slug or numeric ID of the post

Request Body โ€‹

Same as Create Post.

Response โ€‹

Same as Create Post.

Publish Post โ€‹

prolog
PUT API_BASE/lists/:channel_slug/posts/:post_id/publish

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Parameters โ€‹

Same as Update Post.

Response โ€‹

Same as Update Post.

Unpublish Post โ€‹

prolog
PUT API_BASE/lists/:channel_slug/posts/:post_id/unpublish

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Same as Publish Post.

Send Post โ€‹

prolog
PUT API_BASE/lists/:channel_slug/posts/:post_id/deliver

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Parameters โ€‹

Same as Publish Post.

Response โ€‹

Same as Publish Post.

Get Post Content โ€‹

prolog
GET API_BASE/lists/:channel_slug/posts/:post_id/content

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Parameters โ€‹

Same as Common Parameters.

Access Rules โ€‹

  • List owners and cooperators always have access.
  • Other users need an active paid subscription unless the post has no paid content.

Response โ€‹

json
{
  "data": {
    "free-content": "...",
    "paid-content": "..."
  },
  "ts": 1723923923
}

Duplicate Post โ€‹

prolog
POST API_BASE/lists/:channel_slug/posts/:post_id/duplicate

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Parameters โ€‹

Same as Common Parameters.

Response โ€‹

json
{
  "data": PostObject,
  "ts": 1723923923
}

Preview Post โ€‹

prolog
GET API_BASE/lists/:channel_slug/posts/:post_id/preview

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list cooperator access.

Parameters โ€‹

Same as Common Parameters.

Response โ€‹

Returns an HTML document.

Delete Post โ€‹

prolog
DELETE API_BASE/lists/:channel_slug/posts/:post_id

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list owner or cooperator access for the target list.

Parameters โ€‹

Same as Common Parameters.

Response โ€‹

json
{
  "data": PostObject,
  "ts": 1723923923
}

Get Subscribed Posts โ€‹

prolog
GET API_BASE/posts/subscribed?offset=:offset&limit=:limit

Authorization Required โ€‹

OAuthAPIKey
YesYes

Query Parameters โ€‹

ParameterTypeDescription
offsetnumberThe offset of the post list
limitnumberThe limit of the post list

Response โ€‹

json
{
  "data": {
    "pagination": {
      "total": 0,
      "offset": 0,
      "next_offset": 16,
      "limit": 16
    },
    "items": [PostObject, ...]
  },
  "ts": 1723923923
}

Search Similar Posts (Public) โ€‹

prolog
POST API_BASE/posts/search

Request Body โ€‹

json
{
  "q": "search keyword",
  "list": 1,
  "offset": 0
}

Response โ€‹

json
{
  "data": {
    "pagination": {
      "offset": 0,
      "next_offset": 30,
      "limit": 30
    },
    "items": [PostObject, ...]
  },
  "ts": 1723923923
}

Search Similar Posts (All Posts) โ€‹

prolog
POST API_BASE/posts/all/search

Authorization Required โ€‹

OAuthAPIKey
YesYes

Requires list owner or cooperator access for the target list.

Request Body โ€‹

Same as Search Similar Posts (Public).

Response โ€‹

Same as Search Similar Posts (Public).

React to Post โ€‹

prolog
POST API_BASE/posts/reactions?id=:post_id

Authorization Required โ€‹

OAuthAPIKey
YesYes

Request Body โ€‹

json
{
  "emoji": "๐Ÿ˜€",
  "code": "0x1f600"
}

Response โ€‹

json
{
  "data": PostObject,
  "ts": 1723923923
}