List Blog Posts
Returns a paginated list of published blog posts for the current location. Supports filtering by category, keyword search, and featured flag.
Authentication
No authentication required.
Query Parameters
Number of posts per page.
Filter to posts belonging to a specific category. Omit to return posts across all categories.
Keyword filter applied to post title and body. URL-encoded.
When true, returns only blog posts marked as featured by the operator.
Comma-separated list of field paths to include in the response. When provided, only the
specified fields are returned — useful for reducing payload size. Supports nested paths
using dot notation. Example: _shape=BlogPosts.Records.Title,BlogPosts.Records.SummaryText,BlogPosts.Records.PublishDate.
Response
Returns a BlogPostList object containing paginated blog posts, available categories, and the currently selected category.
Paginated wrapper containing blog post records.
Array of blog post summaries for the current page.
Total number of matching posts.
Whether there are more pages after the current one.
Array of all available blog categories.
The currently selected category (when filtering by categoryId).
Examples
Fetch first page of posts
GET /api/public/blogPosts?page=1&top=10
TypeScript Integration
import endpoints from '@/api/endpoints'
const { resource: posts } = useTypedData(
httpClient,
endpoints.blog.blogPosts({
page: 1,
top: 10,
featured: true,
}),
)