Posts
User-related API environment
Production user-related API docs
These pages describe the Production user-related API stack.
Use production OAuth credentials, production API base URLs, and production app URLs when following this documentation.
Need to test before going live? Switch to the Pre-live docs using the environment switcher above.
Create, read, update, moderate, and interact with Quran Reflect posts.
📄️ Get posts feed
Retrieve a paginated feed of Quran Reflect posts, including reflections and lessons. Supports filtering by authors, tags, Quran references, groups, pages, and post types. Response items include engagement metadata such as `likesCount`, `commentsCount`, and `recentComment` when available. Use the dedicated comment endpoints to retrieve comment objects and totals. For ayah-by-ayah reads, use `filter[references][0][chapterId]`, `filter[references][0][from]`, and `filter[references][0][to]`, and use `filter[postTypeIds]=1` for reflections or `filter[postTypeIds]=2` for lessons.
📄️ Get related posts
Retrieve posts related to a given post by matching its Quran references with OR logic. Results are filtered by language preferences and ordered by popularity, excluding the source post.
📄️ Get current user posts
Retrieve posts created by the currently authenticated user. Supports filtering by tab (MY_REFLECTIONS, SAVED, DRAFTS), sorting options, and post type filtering.
📄️ Get post liked state
Returns whether the authenticated user currently likes the post. This lightweight endpoint avoids loading the full post payload for simple like-state checks.
📄️ Get post by ID
Retrieve a specific post by its unique numeric ID. Returns the full post with author details, tags, references, room information, and engagement metrics. Admins can view additional moderation details.
📄️ Delete post
Soft-delete a post by marking it as removed. Only the post author or admins can delete posts. Related engagement counts (likes, comments, saves) update asynchronously via background jobs, so metrics may briefly lag.
📄️ Edit post
Update an existing post. Only the post author or admins can edit. Supports updating body, references, mentions, draft status, and room visibility settings.
📄️ Track post view
Record that a post has been viewed by the current user (if authenticated). Used for analytics and engagement tracking. Does not require authentication but will track user-specific views when logged in.
📄️ Create post
Create a new post (reflection) with Quran references. Posts can be public, drafts, or associated with a room (group/page). Supports user mentions and multiple Quran verse references. Minimum body length is 6 characters.
📄️ Report post abuse
Report a post for moderation review. Provide a reason for the report to help moderators evaluate the content. Multiple reports on the same post may trigger automatic review.
📄️ Get user posts
Retrieve public posts created by a specific user. If viewing own posts while authenticated, returns all posts including drafts. Supports sorting and filtering by post type.
📄️ Toggle post like
Toggle like status for a post. If already liked, removes the like. If not liked, adds a like. Updates the post like count and triggers notifications.
📄️ Toggle post save
Toggle save/bookmark status for a post. Saved posts appear in the SAVED tab of the user profile for easy access later.
📄️ Get post comments
Retrieve paginated top-level comments for a post. Use the replies endpoint to get nested replies for specific comments.
📄️ Get all post comments
Retrieve all comments for a post in a single request without pagination. Useful for displaying full comment threads or export scenarios.
📄️ Export posts as PDF
Generate a downloadable PDF document containing selected posts with their full content, Quran references, and author information. Ayah translations are rendered according to user language preferences.
📄️ Get posts count within range
Count how many posts the current user has written for verses within a specified Quran verse range. Useful for reading goals and progress tracking.
📄️ Get posts by verse
Retrieve all posts written by the current user for a specific Quran verse. This endpoint requires a user-bound token and returns only the authenticated user's own posts. It is not part of the public `client_credentials`-compatible read subset; for public ayah-by-ayah reads, use `GET /v1/posts/feed` with indexed reference filters such as `filter[references][0][chapterId]`, `filter[references][0][from]`, and `filter[references][0][to]`.