Skip to main content

Overview

The Fluxer API is a RESTful HTTP API that powers the Fluxer platform. It provides endpoints for authentication, user management, guilds, channels, messaging, and more.

Authentication

Learn how to authenticate with the API

Endpoints

Browse available API endpoints

Media Proxy

Media transformation and delivery

Relay Directory

Voice relay discovery and management

Base URLs

The Fluxer API is accessible at different base URLs depending on your deployment:
https://api.fluxer.app/v1
All API endpoints are versioned under the /v1 prefix. Legacy endpoints without the version prefix are also supported for backward compatibility.

API Versioning

The Fluxer API uses URL-based versioning. The current version is v1.
GET /v1/auth/sso/status
GET /v1/users/@me
GET /v1/guilds/{guild_id}

Request Format

All API requests should:
  • Use HTTPS in production
  • Include appropriate Content-Type headers
  • Send JSON-encoded request bodies for POST/PATCH/PUT requests
  • Include authentication headers (see Authentication)

Headers

Content-Type
string
default:"application/json"
The media type of the request body
Authorization
string
Authentication token (for authenticated endpoints)
X-Request-ID
string
Optional request ID for tracing (auto-generated if not provided)

Response Format

All API responses are JSON-encoded with appropriate HTTP status codes.

Success Response

{
  "id": "123456789",
  "username": "fluxer_user",
  "email": "[email protected]"
}

Error Response

{
  "error": "Invalid credentials",
  "code": "INVALID_CREDENTIALS"
}

Status Codes

The API uses standard HTTP status codes:
200
OK
The request was successful
201
Created
A new resource was successfully created
400
Bad Request
The request was invalid or malformed
401
Unauthorized
Authentication is required or has failed
403
Forbidden
The authenticated user does not have permission
404
Not Found
The requested resource was not found
429
Too Many Requests
Rate limit exceeded
500
Internal Server Error
An unexpected error occurred on the server

Rate Limiting

The Fluxer API implements rate limiting to ensure fair usage and platform stability. Rate limits vary by endpoint and authentication status.
When you exceed a rate limit, the API returns a 429 Too Many Requests status code. You should implement exponential backoff in your client.

Rate Limit Headers

Rate limit information is included in response headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1614556800

CORS

The API supports Cross-Origin Resource Sharing (CORS) for browser-based applications. The following origins are allowed:
  • Fluxer Web App (https://app.fluxer.app)
  • Fluxer Marketing Site (https://fluxer.app)
  • Self-hosted instances (configured via corsOrigins)

Telemetry

The API includes telemetry endpoints for monitoring and observability:
GET /internal/telemetry
Returns:
{
  "telemetry_enabled": true,
  "service": "fluxer_api",
  "timestamp": "2026-03-04T12:00:00Z"
}

Development Mode

When running in development mode (nodeEnv: 'development'), additional endpoints and features are enabled:
  • Test harness endpoints for integration testing
  • Relaxed rate limits
  • Detailed error messages with stack traces
Development mode should never be enabled in production environments.

Next Steps

Authentication

Set up authentication for your application

Explore Endpoints

Browse available API endpoints by category

Build docs developers (and LLMs) love