Skip to content

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:

  1. Go to WordPress Dashboard → Users → Your Profile
  2. Scroll to Application Passwords section
  3. Create a new application password
  4. Use the credentials in the format: username:application_password

Example Request:

bash
curl -X GET "https://your-site.com/wp-json/fluent-community/v2/feeds" \
  --user "username:xxxx xxxx xxxx xxxx xxxx xxxx"

JavaScript Example:

javascript
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:

bash
curl -X GET "https://your-site.com/wp-json/fluent-community/v2/feeds" \
  --user "username:app_password"

Create a Post:

bash
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

Engagement

Learning & Courses

Media & Settings

  • Media - Upload and manage media files
  • Giphy - Giphy integration
  • Settings - Community settings and configuration
  • Migrations - Migrate from other platforms

Pro Features

Common Concepts

Pagination

Most list endpoints support pagination:

bash
GET /feeds?page=2&per_page=20
ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger20Items per page (max: 100)

Filtering & Sorting

Filter and sort results using query parameters:

bash
# 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=desc

Response Format

Success Response:

json
{
  "data": {
    "id": 123,
    "title": "Example Post"
  },
  "message": "Success"
}

List Response:

json
{
  "data": [...],
  "meta": {
    "total": 150,
    "per_page": 20,
    "current_page": 1,
    "total_pages": 8
  }
}

Error Response:

json
{
  "code": "error_code",
  "message": "Human-readable error message",
  "data": {
    "status": 400
  }
}

HTTP Status Codes

CodeDescription
200Success
201Created
204No Content (successful deletion)
400Bad Request (validation error)
401Unauthorized (authentication required)
403Forbidden (insufficient permissions)
404Not Found
500Internal 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: 1635724800

Need Help?

Interactive Playground

Every API endpoint page includes an interactive playground where you can test requests directly from your browser.

Fluent Community developer documentation