Skip to content
Last updated

Home Page Feed

These use cases show how to build a typical member experience home page with the Feeds API. A home page often contains multiple feed sections, such as Trending, Featured, and Latest.

Each example below shows:

  • the UI outcome
  • the API request used to generate it
  • the response structure returned for that use case

Example of a user's home page, showing their Featured feed as their main content landing

homepageexfeeds.png

These examples focus on displaying content feeds on a user's home page. For other home page aspects, view our use case library for examples such as user shortcuts, notification center, search bar, user profile, etc.


This example shows how to generate a Trending content feed.

Example UI

Trending feed example UI

Endpoint

Request parameters

QueryValue
name string"trending"
visibility string"public"
page.size integer10
page.number integer1
  • name=trending returns the named feed preset for trending content.
  • filter.visibility=public limits results to public content.
  • page.size=10 and page.number=1 return the first 10 results.

Request used in this example

{ "name": "trending", "filter.visibility": "public", "page.size": 10, "page.number": 1 }

Response shown in this example

{ "data": [ { "id": 1001, "title": "How managers can improve team communication", "content_type": "video", "visibility": "public", "featured": false }, { "id": 1002, "title": "Building stronger culture across distributed teams", "content_type": "video", "visibility": "public", "featured": false }, { "id": 1003, "title": "Training highlights from this quarter", "content_type": "video", "visibility": "public", "featured": false } ], "meta": { "filters": { "visibility": "public" }, "feed_name": "trending", "pagination": { "page": 1, "size": 10 } } }

This example shows how to generate a Featured content feed.

If you are building a member experience home page and want to highlight priority content, you can use the named featured feed to display posts that have been marked as featured.

This is useful for surfacing important company campaigns, executive communications, or time-sensitive announcements.

To display featured content, the name query can be left to the default (myfeed). Use the featured query.

Example UI

Featured feed example UI

Endpoint

Request parameters

QueryValue
featured string"true"
visibility string"public"
page.size integer10
page.number integer1
  • featured=true returns the named feed preset for featured content.
  • filter.visibility=public limits results to public content.
  • page.size=10 and page.number=1 return the first 10 results.

Request used in this example

{ "name": "featured", "filter.visibility": "public", "page.size": 10, "page.number": 1 }

Response shown in this example

{ "data": [ { "id": 2001, "title": "CEO town hall recap", "content_type": "article", "visibility": "public", "featured": true }, { "id": 2002, "title": "Open enrollment reminder", "content_type": "image", "visibility": "public", "featured": true }, { "id": 2003, "title": "Q2 business update", "content_type": "video", "visibility": "public", "featured": true } ], "meta": { "filters": { "visibility": "public" }, "feed_name": "featured", "pagination": { "page": 1, "size": 10 } } }

Latest Feed

This example shows how to generate a Latest content feed.

Use this feed when you want to display the most recently published content available to the authenticated user. This is helpful for creating a section that keeps users up to date with the newest company news and updates.

Endpoint note

The Latest feed uses a different Feeds endpoint.

Example UI

ee-home-latest.png

Endpoint

Request parameters

QueryValue
name string"latest"
visibility string"public"
page.size integer10
page.number integer1
  • name=latest returns the named feed preset for the most recently published content.
  • filter.visibility=public limits results to public content.
  • page.size=10 and page.number=1 return the first 10 results.

Request used in this example

{ "name": "latest", "filter.visibility": "public", "page.size": 10, "page.number": 1 }

Response shown in this example

{ "data": [ { "id": 3001, "title": "New benefits guide for employees", "content_type": "article", "visibility": "public", "featured": false }, { "id": 3002, "title": "This week in company news", "content_type": "note", "visibility": "public", "featured": false }, { "id": 3003, "title": "Leadership update video", "content_type": "video", "visibility": "public", "featured": false } ], "meta": { "filters": { "visibility": "public" }, "feed_name": "latest", "pagination": { "page": 1, "size": 10 } } }

Request schema

Request schema

namestring

Use a specific named feed, which is a preset of filters for specific types of feeds.

Default "myfeed"
Enum"myfeed""following""resources""trending""icymi""featured""bookmarked""community_images"
searchstring

Find content matching provided keywords. When specified, parameters other than pagination and the topics filter will be ignored.

filter.user_behaviorsArray of strings

Return content posts that users have interacted with in the provided ways.

Items Enum"liked""bookmarked""read""unread"
filter.channels.idArray of integers

Build the feed from the given topics. Returns posts that are published to any of the topics.

filter.initiative_tags.idArray of integers

Build the feed from the given initiative tags. Returns posts that are published with any of the initiative tags.

filter.content_typeArray of strings

Return only content matching the provided content types.

Items Enum"article""link""note""image""video"
filter.visibilitystring

Limit records to the value provided.

Default "any"
Enum"public""private""any"
filter.featuredstring

Limit records to the value provided.

Default "any"
Enum"true""false""any"
page.sizeinteger

Number of records to return per page. Default is 10 and maximum is 100.

page.numberinteger

Using classical pagination, the page number to return. Default is 1.

Response schema

dataArray of objects(Feeds.Post.Resource)required
data[].​idinteger

Unique identifier for this post

Example: 456
data[].​uuidstring(uuid)
Example: "8b358e6b-11d4-4e89-bf7f-ec670e3398ed"
data[].​versioninteger

The version of the content creation studio used to generate the content.

  • 1 - Legacy Studio
  • 2 - Creator Studio
Enum12
data[].​content_typestring

The type of content. One of: article, image, link, note, or video. The content_type can determine how the post should be presented.

Example: "article"
data[].​titlestring

The post title. Can also be considered the headline.

Example: "Example Post Title"
data[].​summarystring

Short summary of the post.

Example: "Example Post Summary"
data[].​bodystring

The body of the post.

Example: "Example post body"
data[].​accent_colorstring

The color of the post, currently only applicable to notes.

data[].​authorobject(Content.Post.Resource.author)
data[].​channelsArray of objects

A list of the topics this post is published to.

data[].​engagementobject
data[].​updated_atstring(date-time)

When this content was last updated in ISO8601 format and UTC timezone.

Example: "2000-01-01T00:00:00Z"
data[].​published_atstring(date-time)

When this content was published in ISO8601 format and UTC timezone.

Example: "2000-01-01T00:00:00Z"
data[].​visibilitystring

An indication of the native availability of the post within the Firstup platform. If 'public', the post has a public_link_url and shares of the post should use that url as the canonical url. If 'private', the post requires user authentication to view.

Enum"private""public""any"
Example: "public"
data[].​featuredboolean

Whether the post is featured.

Example: true
data[].​featured_labelstring

The content's feature label

Example: "Save Pandora!"
data[].​permalink_urlstring

The url of the post on the Firstup platform.

Example: "https://onfirstup.com/acme/acmetimes/sc4#contents/456"
data[].​shareable_urlstring

The publicly shareable url of the post if it's visibility is public. Private visibility posts will have no shareable_url.

Example: "https://onfirstup.com/acme/acmetimes/sc4#contents/456"
data[].​prepopulated_share_messagestring

The auto-generated string used when sharing the post.

Example: "Example Post Title https://onfirstup.com/acme/acmetimes/sc4#contents/456"
data[].​appended_hashtagstring

The hashtag configured to be included when sharing the posts. example: #YourBrand

data[].​languagestring

The language. For non-translatable posts, this value will be null.

Example: "en"
data[].​is_translatableboolean

Whether the content is translatable.

Example: true
data[].​is_commentableboolean

Whether the content allows comments.

Example: true
data[].​comment_countinteger

The number of comments on the content.

Example: 5
data[].​poster_image_urlstring

The url of the primary image used for this post, if one exists.

Example: "https://cdn.example.com/acme/acmetimes/images/abc123"
data[].​linksArray of objects
data[].​imagesArray of objects(Content.Image.Resource)
data[].​videosArray of objects
metaobject