Skip to content
On this page

Synara Documentation

Build a client

Guide What it covers
CLIENT_GETTING_STARTED.md The four API surfaces, picking one, and a first login-and-search call. Start here.
CLIENT_KOTLIN_RPC.md Using the common-rpc Kotlin/KMP SDK: BaseRpcServiceManager, login, services, streaming Flows.
CLIENT_REST.md The HTTP/JSON surface for non-Kotlin clients: route derivation, parameter binding, authentication.
AUTHENTICATION.md Logging in, JWTs and refresh tokens, API keys, and how each is presented over RPC and REST.
STREAMING_AND_PLAYBACK.md Streaming audio, transcoding, queues and multi-device playback sync.
API_VERSIONING.md The API-version and UI-schema-version headers and how the server adapts responses to older clients.
SERVER_DRIVEN_UI.md Rendering server-described UI (slots, pages, home cards, hooks), with the importer as a worked example.
CLIENT_SETTINGS.md Keeping client settings on the server, synced across devices or per device.
MOCK_SERVER.md Running a mock server that generates dummy RPC/REST responses for client development.

Reference

Document
RPC_SERVICES.md
MODELS.md
PERMISSIONS.md
REST_API.md
API_CONSTANTS.md
SERVER_UI_CONTRIBUTIONS.md, SERVER_UI_CONTRIBUTIONS.json
ENVIRONMENT_VARIABLES.md
RELATION_MAP.html
STATS.html
UI_CATALOGUE.html
MIGRATION_TIMELINE.html

Extend the server

Guide What it covers
PLUGINS.md Writing a plugin (ISynaraPlugin): importers, indexers, routes, scheduled tasks, server-driven UI.
MCP.md The read-only Model Context Protocol endpoint for querying listening history from an AI assistant.
LISTEN_BACKUP.md Running a standalone receiver that keeps a copy of listening history.
CREDENTIAL_SERVER.md Running a standalone server that hands third-party credentials to Synara servers and plugins.

Work on the server

Guide What it covers
ARCHITECTURE.md Module map, request flow, package layout, DI, workers, migrations, generators.
DEVELOPMENT.md Cloning, running, testing, the common-rpc submodule workflow, adding an RPC method, troubleshooting.
DEPRECATIONS.md Checklist of what to remove or change when an API, UI schema or plugin API version bump reaches a target version.