Skip to content
sanalyer API

sanalyer API

sanalyer is the chat service at sanalyer.com. These pages describe its HTTP API, Gateway, media proxy and admin API.

Questions about the API go to info@sanalyer.com.

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. The path keeps its upstream name; it is part of the protocol.

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

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

  • 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.

sanalyer runs on open-source software licensed under the AGPLv3. Our modified source is on GitHub; the upstream project is fluxerapp/fluxer.