Skip to content

Returns a page of posts the current user is allowed to read, transformed for display, with the pinned post of a space returned separately on the first page.

Pass space to scope to one space, user_id to scope to one author, topic_slug to filter by topic, and search with an optional search_in list of columns. order_by_type selects the sort. per_page defaults to 10 and is capped by the fluent_community/max_per_page filter (100 by default). Pagination is cursor-like rather than counted: total is an estimate derived from the page size, and has_more means only that the page came back full.

Endpoint

  • Method: GET

  • Path: /feeds

  • Edition: Core

  • Controller: FeedsController@get

  • Route source: fluent-community/app/Http/Routes/api.php:42

  • Controller source: fluent-community/app/Http/Controllers/FeedsController.php

  • Sticky posts are hoisted into the separate sticky key on page 1 of a space, and suppressed entirely when searching, filtering by topic, or when disable_sticky=yes.

  • Posts from spaces the caller is not a member of, and posts by deactivated or blocked profiles, are excluded.

  • Filtering by status is only honoured for moderators or for a caller reading their own posts.

Live sample

The request and response below were recorded against a running FluentCommunity install and then anonymised — member names, emails, avatars and post content are fictional, and long collections are trimmed to a few entries.

GET List Feeds

GET
/feeds

Returns a page of posts the current user is allowed to read, transformed for display, with the pinned post of a space returned separately on the first page.

Controller: FeedsController@get
Route source: fluent-community/app/Http/Routes/api.php:42

Authorizations

ApplicationPasswords

WordPress Application Passwords — use Basic auth with username:application_password.

Type
API Key (header: Authorization)

Parameters

Query Parameters

space

Space read via $request->get() in get().

Type
string
user_id

User ID read via $request->getSafe() in get().

Type
string
topic_slug

Topic Slug read via $request->getSafe() in get().

Type
string
search

Search read via $request->getSafe() in get().

Type
string
status

Status read via $request->getSafe() in get().

Type
string
per_page

Per Page read via $request->get() in get().

Type
integer
Default
10
page

Page read via $request->get() in get().

Type
integer
Default
1
search_in

Search In read via $request->get() in get().

Type
array
Default
"post_content"
order_by_type

Order By Type read via $request->getSafe() in get().

Type
string
disable_sticky

Disable Sticky read via $request->get() in get().

Type
string

Responses

Successful response

application/json
JSON
{
  
"execution_time": 0,
  
"feeds": {
  
  
"current_page": 0,
  
  
"data": [
  
  
  
{
  
  
  
  
"comments": [
  
  
  
  
  
{
  
  
  
  
  
  
"content_type": "string",
  
  
  
  
  
  
"created_at": "string",
  
  
  
  
  
  
"id": 0,
  
  
  
  
  
  
"is_sticky": 0,
  
  
  
  
  
  
"message": "string",
  
  
  
  
  
  
"message_rendered": "string",
  
  
  
  
  
  
"meta": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"parent_id": "string",
  
  
  
  
  
  
"post_id": "string",
  
  
  
  
  
  
"reactions_count": "string",
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"updated_at": "string",
  
  
  
  
  
  
"user_id": "string",
  
  
  
  
  
  
"xprofile": {
  
  
  
  
  
  
  
"avatar": "string",
  
  
  
  
  
  
  
"badge": "string",
  
  
  
  
  
  
  
"created_at": "string",
  
  
  
  
  
  
  
"display_name": "string",
  
  
  
  
  
  
  
"is_verified": 0,
  
  
  
  
  
  
  
"last_activity": "string",
  
  
  
  
  
  
  
"meta": {
  
  
  
  
  
  
  
  
"badge_slug": "string",
  
  
  
  
  
  
  
  
"cover_photo": "string",
  
  
  
  
  
  
  
  
"social_links": {
  
  
  
  
  
  
  
  
  
"fb": "string",
  
  
  
  
  
  
  
  
  
"instagram": "string",
  
  
  
  
  
  
  
  
  
"linkedin": "string",
  
  
  
  
  
  
  
  
  
"twitter": "string",
  
  
  
  
  
  
  
  
  
"youtube": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"website": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"permalink": "string",
  
  
  
  
  
  
  
"short_description": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"total_points": 0,
  
  
  
  
  
  
  
"user_id": 0,
  
  
  
  
  
  
  
"username": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"comments_count": 0,
  
  
  
  
"content_type": "string",
  
  
  
  
"created_at": "string",
  
  
  
  
"default_comment_sort_by": "string",
  
  
  
  
"featured_image": "string",
  
  
  
  
"id": 0,
  
  
  
  
"is_sticky": 0,
  
  
  
  
"message_rendered": "string",
  
  
  
  
"meta": {
  
  
  
  
  
"preview_data": "string"
  
  
  
  
},
  
  
  
  
"permalink": "string",
  
  
  
  
"priority": 0,
  
  
  
  
"privacy": "string",
  
  
  
  
"reactions": [
  
  
  
  
  
{
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"reactions_count": 0,
  
  
  
  
"scheduled_at": "string",
  
  
  
  
"slug": "string",
  
  
  
  
"space": {
  
  
  
  
  
"id": 0,
  
  
  
  
  
"settings": {
  
  
  
  
  
  
"can_request_join": "string",
  
  
  
  
  
  
"custom_lock_screen": "string",
  
  
  
  
  
  
"default_comment_sort_by": "string",
  
  
  
  
  
  
"default_post_sort_by": "string",
  
  
  
  
  
  
"disable_layout_style": "string",
  
  
  
  
  
  
"disable_post_sort_by": "string",
  
  
  
  
  
  
"document_access": "string",
  
  
  
  
  
  
"document_library": "string",
  
  
  
  
  
  
"document_upload": "string",
  
  
  
  
  
  
"emoji": "string",
  
  
  
  
  
  
"hide_members_count": "string",
  
  
  
  
  
  
"layout_style": "string",
  
  
  
  
  
  
"links": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"media_access": "string",
  
  
  
  
  
  
"media_gallery": "string",
  
  
  
  
  
  
"members_page_status": "string",
  
  
  
  
  
  
"og_image": "string",
  
  
  
  
  
  
"restricted_post_only": "string",
  
  
  
  
  
  
"shape_svg": "string",
  
  
  
  
  
  
"show_paywalls": "string",
  
  
  
  
  
  
"show_sidebar": "string",
  
  
  
  
  
  
"topic_required": "string"
  
  
  
  
  
},
  
  
  
  
  
"slug": "string",
  
  
  
  
  
"title": "string",
  
  
  
  
  
"type": "string"
  
  
  
  
},
  
  
  
  
"space_id": "string",
  
  
  
  
"status": "string",
  
  
  
  
"terms": [
  
  
  
  
  
{
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"title": "string",
  
  
  
  
"type": "string",
  
  
  
  
"user_id": "string",
  
  
  
  
"xprofile": {
  
  
  
  
  
"avatar": "string",
  
  
  
  
  
"badge": "string",
  
  
  
  
  
"created_at": "string",
  
  
  
  
  
"display_name": "string",
  
  
  
  
  
"is_verified": 0,
  
  
  
  
  
"last_activity": "string",
  
  
  
  
  
"meta": {
  
  
  
  
  
  
"badge_slug": "string",
  
  
  
  
  
  
"cover_photo": "string",
  
  
  
  
  
  
"social_links": {
  
  
  
  
  
  
  
"fb": "string",
  
  
  
  
  
  
  
"instagram": "string",
  
  
  
  
  
  
  
"linkedin": "string",
  
  
  
  
  
  
  
"twitter": "string",
  
  
  
  
  
  
  
"youtube": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"website": "string"
  
  
  
  
  
},
  
  
  
  
  
"permalink": "string",
  
  
  
  
  
"short_description": "string",
  
  
  
  
  
"status": "string",
  
  
  
  
  
"total_points": 0,
  
  
  
  
  
"user_id": 0,
  
  
  
  
  
"username": "string"
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"from": 0,
  
  
"has_more": true,
  
  
"per_page": 0,
  
  
"to": 0,
  
  
"total": 0
  
},
  
"last_fetched_timestamp": 0,
  
"sticky": "string"
}

Playground

Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI

FluentCommunity developer documentation