Posts
List posts
Get a paginated list of published posts with filtering and search capabilities
Path Parameters
workspaceId*string
Workspace identifier
Query Parameters
limit?string
Number of posts per page or 'all' for no pagination
Default
"10"page?string
Page number for pagination
Default
"1"order?string
Sort order by published date
Default
"desc"Value in
"asc" | "desc"categories?string
Comma-separated category slugs to filter by
excludeCategories?string
Comma-separated category slugs to exclude
tags?string
Comma-separated tag slugs to filter by
excludeTags?string
Comma-separated tag slugs to exclude
query?string
Search query to filter posts by title or content
format?string
Content format (html or markdown)
Value in
"html" | "markdown"excludeContent?string
When true, omits the content field from posts to reduce payload size. Useful for list views where only metadata is needed.
Value in
"true" | "false"Response Body
application/json
application/json
application/json
curl -X GET "https://api.astracms.dev/v1/my-workspace/posts"{
"posts": [
{
"id": "clx4b6d8f0h2j4l6n8p0r",
"slug": "my-first-post",
"title": "My First Blog Post",
"content": "<p>This is the content of my first blog post.</p>",
"featured": true,
"coverImage": "https://example.com/cover.jpg",
"description": "A brief description of the post",
"publishedAt": "2024-01-01T12:00:00Z",
"updatedAt": "2024-01-02T12:00:00Z",
"attribution": "Originally published on Medium",
"authors": [
{
"id": "clx1a2b3c4d5e6f7g8h9i",
"name": "John Doe",
"image": "https://example.com/avatar.jpg",
"bio": "Tech writer and developer",
"role": "Senior Developer",
"slug": "john-doe",
"socials": [
{
"url": "https://twitter.com/johndoe",
"platform": "twitter"
}
]
}
],
"category": {
"id": "clx2k4m6n8p0r2t4v6x8z",
"name": "Technology",
"slug": "technology",
"description": "Tech articles and news"
},
"tags": [
{
"id": "clx3y5a7c9e1g3i5k7m9o",
"name": "JavaScript",
"slug": "javascript",
"description": "JavaScript programming"
}
]
}
],
"pagination": {
"limit": 10,
"currentPage": 1,
"nextPage": 2,
"previousPage": null,
"totalPages": 5,
"totalItems": 48
}
}{
"error": "string",
"details": null,
"message": "string"
}{
"error": "string",
"details": null,
"message": "string"
}Last updated on