Fluxer API
Fluxer is a self-hostable chat platform. You can build clients and bots with its HTTP API and Gateway, or run your own instance.
| Section | Description |
|---|---|
| HTTP API | Read and change users, guilds, channels and messages |
| Gateway | Receive events over a WebSocket connection |
| Voice | Join voice calls and share your screen |
| Media Proxy | Load media and upload files |
| Admin API | Manage an instance with admin access |
| Self-hosting | Install and run an instance |
Authentication, Errors, Rate limits and Locales cover behavior the APIs share. Each page says where it differs. Most IDs are snowflakes.
Field notation
Section titled “Field notation”In field tables, ? after a field name means optional. Before a type, it means nullable.
| Field | Type | Meaning |
|---|---|---|
name | string | Required and cannot be null |
name? | string | Optional, but cannot be null when present |
name | ?string | Required, but can be null |
name? | ?string | Can be omitted or set to null |
In a request body, leaving a field out and sending null can do different things, and the endpoint says which.
| Type | Meaning |
|---|---|
array[type] | An array of that type |
map[key, value] | A JSON object with keys of the first type and values of the second |
Endpoint discovery
Section titled “Endpoint discovery”Get /.well-known/fluxer on the instance origin to find its base URLs. It needs no authentication and allows cross-origin requests.
GET https://example.com/.well-known/fluxerBots, libraries and third-party clients send requests to endpoints.api_public from the endpoints object followed by a /v1 path, such as /v1/users/@me. Connect to the Gateway at endpoints.gateway. Don’t build base URLs from the origin or hard-code Fluxer domains. Send credentials in the Authorization header as described in Authentication.