Fluent Community REST API
Welcome to the Fluent Community REST API documentation. Our API allows you to programmatically interact with your Fluent Community site, manage content, users, spaces, and more.
Getting Started
The Fluent Community API uses WordPress Application Passwords for authentication and follows RESTful principles. All endpoints return JSON responses.
Base URL:
https://your-site.com/wp-json/fluent-community/v2/Authentication
All API requests require authentication using WordPress Application Passwords:
- Go to WordPress Dashboard → Users → Your Profile
- Scroll to Application Passwords section
- Create a new application password
- Use the credentials in the format:
username:application_password
Example Request:
curl -X GET "https://your-site.com/wp-json/fluent-community/v2/feeds" \
--user "username:xxxx xxxx xxxx xxxx xxxx xxxx"JavaScript Example:
const username = 'your_username';
const appPassword = 'xxxx xxxx xxxx xxxx xxxx xxxx';
const credentials = btoa(`${username}:${appPassword}`);
fetch('https://your-site.com/wp-json/fluent-community/v2/feeds', {
headers: {
'Authorization': `Basic ${credentials}`
}
})
.then(response => response.json())
.then(data => console.log(data));TIP
For same-site requests (e.g., from WordPress admin), you can use WordPress Cookie Authentication with the X-WP-Nonce header.
Quick Example
List Feeds:
curl -X GET "https://your-site.com/wp-json/fluent-community/v2/feeds" \
--user "username:app_password"Create a Post:
curl -X POST "https://your-site.com/wp-json/fluent-community/v2/feeds" \
--user "username:app_password" \
-H "Content-Type: application/json" \
-d '{
"title": "My First API Post",
"message": "This post was created via the REST API!",
"space_id": 1
}'API Resources
Core Resources
- Feeds - Create, read, update, and delete community posts
- Comments - Manage comments and replies
- Spaces - Community spaces and groups
- Space Groups - Organize spaces into groups
- Space Members - Manage space membership
- Profiles - User profiles and information
- Members - Community member management
- Activities - Activity stream and logs
Engagement
- Reactions - Reactions and likes on content
- Bookmarks - Saved posts and bookmarks
- Notifications - User notifications
Learning & Courses
- Courses - Course management
- Lessons - Course lessons
- Course Progress - Track student progress
- Quizzes - Course quizzes and assessments
Media & Settings
- Media - Upload and manage media files
- Giphy - Giphy integration
- Settings - Community settings and configuration
- Migrations - Migrate from other platforms
Pro Features
- Followers - User following system
- Analytics - Community analytics and insights
- Moderation - Content moderation tools
- Topics - Topic management
- Webhooks - Webhook integrations
- Scheduled Posts - Schedule posts for later
- Community Managers - Manager roles and permissions
- Leaderboard - Gamification and points
Common Concepts
Pagination
Most list endpoints support pagination:
GET /feeds?page=2&per_page=20| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 20 | Items per page (max: 100) |
Filtering & Sorting
Filter and sort results using query parameters:
# Filter by space
GET /feeds?space_id=5
# Sort by date
GET /feeds?orderby=created_at&order=desc
# Search
GET /feeds?search=javascript
# Combine filters
GET /feeds?space_id=5&status=published&orderby=created_at&order=descResponse Format
Success Response:
{
"data": {
"id": 123,
"title": "Example Post"
},
"message": "Success"
}List Response:
{
"data": [...],
"meta": {
"total": 150,
"per_page": 20,
"current_page": 1,
"total_pages": 8
}
}Error Response:
{
"code": "error_code",
"message": "Human-readable error message",
"data": {
"status": 400
}
}HTTP Status Codes
| Code | Description |
|---|---|
| 200 | Success |
| 201 | Created |
| 204 | No Content (successful deletion) |
| 400 | Bad Request (validation error) |
| 401 | Unauthorized (authentication required) |
| 403 | Forbidden (insufficient permissions) |
| 404 | Not Found |
| 500 | Internal Server Error |
Rate Limiting
API requests are rate-limited to ensure fair usage:
- Default: 100 requests per minute per user
- Authenticated: 1000 requests per minute
- Admin: Unlimited
Rate limit headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1635724800Need Help?
- Error Handling - Complete error reference
- Code Examples - Examples in multiple languages
Interactive Playground
Every API endpoint page includes an interactive playground where you can test requests directly from your browser.
