Skip to content
Fluxer API

Fluxer API

Fluxer is a self-hostable chat platform.

  • To build a client or a bot, start with the HTTP API and the Gateway.
  • For voice and screen sharing, read Voice.
  • To run an instance, start with Get started.

Use the HTTP API to read and change resources, and Gateway events to receive updates. The Media Proxy serves media and uploads. The Admin API provides privileged instance management.

See Authentication, Errors, Rate limits and Locales for shared behaviour. Most resource identifiers are snowflakes. Each resource page states where it differs from this shared behaviour.

In field tables, ? after a field name means optional. Before a type, it means nullable.

FieldTypeMeaning
namestringRequired and cannot be null
name?stringOptional, but cannot be null when present
name?stringRequired, but can be null
name??stringNullish, so it can be omitted or set to null

An omitted field is different from a field set to null. Each operation explains how these values affect the resource.

In the type column, array[type] is an array of the named type, and map[key, value] is a JSON object keyed by the first type with values of the second.

Start with GET /.well-known/fluxer on the instance origin. It requires no authentication and allows cross-origin requests.

GET https://example.com/.well-known/fluxer

For the hosted instance, use https://fluxer.app/.well-known/fluxer.

Read base URLs from the response’s endpoints. Do not derive them from the origin or hard-code Fluxer domains.

  • Bots, libraries and third-party clients use endpoints.api_public.
  • The first-party web application uses endpoints.api_client. endpoints.api is an alias for it.

Use /v1 paths and send credentials in the Authorization header as described in Authentication.