Skip to content

gnomatix/synology-native-api

Repository files navigation

Synology Native API Specification

GNOSWX Logo

Overview

The Synology Native API Specification is a high-fidelity technical reference documenting the internal REST and WebSocket communication patterns used by the Synology DSM 7 ecosystem. This repository is the result of deep reverse-engineering and systematic protocol analysis by the GNOMATIX Skunkworks (GNOSWX) team.

While the official community has historically operated within the constraints of standard webhooks, this project provides the specifications required to build first-class native integrations. We move beyond simple "push" alerts into full-featured interoperability—enabling developers to build applications that manage Synology services with the same fidelity as the official mobile and desktop clients.

Documentation Standard

Every endpoint follows a consistent template: HTTP routing, parameters table, working curl example, response shape (named against the decompiled Android Vo class where available), endpoint-specific errors, and a source attribution line pointing back to the decompiled artifact that backs each claim.

Docs are tiered explicitly:

  • Tier 1 — Retrofit @Field annotations + response Vo class + error-code recovery logic are all verified in decompiled source. Full template with concrete request/response examples. Most of Chat, Drive, and DS Note sit here.
  • Tier 2 — Server-side .lib JSON manifest confirms the namespace/method/version; parameter names and response shapes are not (yet) extracted. Marked UNVERIFIED inline with a note on what's needed to promote the entry. Most of Calendar and Contacts sit here because no Android client was cached during the initial research pass.

Where the two sides disagree, the source wins — and the docs say so.

Specification Index

Each service has its own directory with a spec/ subfolder and a machine-readable manifest.json (the verbatim SYNO.*.lib JSON extracted from the DSM package).

Collaborative Services

  • Synology Chat (manifest) — channels, posts, reactions, scheduled posts, polls, reminders, hashtags, bot attachments. SYNO.Chat.* namespaces.
  • Synology Drive — files, sharing, advanced sharing, team folders, revisions, notifications, sync profiles. SYNO.SynologyDrive.* namespaces.
  • Synology DS Note — notes, notebooks, todos (with subtask hierarchies), tags, smart notebooks, versioning, encryption, sharing. SYNO.NoteStation.* namespaces.

Management & Directory

  • Synology Contacts (manifest) — contacts, address books, labels, external (CardDAV/LDAP) sources, organizational units, admin settings. SYNO.Contacts.* namespaces.
  • Synology Calendar (manifest) — calendars, events (with full iCalendar interop), todos, Jitsi integration, settings. SYNO.Cal.* namespaces.
  • Identity & SSO — OIDC Authorization Code flow with PKCE (DSM 7 SYNO.API.Auth v7).

DAV Protocols

  • WebDAV Server management (manifest) — the admin-only SYNO.WebDAV.* webapi for configuring the DAV server. The DAV protocols themselves (RFC 4918 WebDAV, RFC 4791 CalDAV, RFC 6352 CardDAV) are standard; use any RFC-compliant client.

Methodology

Our research leverages server-side package analysis and client-side application decompilation. This work is performed in a clean-room environment to ensure accurate interoperability data. Details on our research toolchain are available in METHODOLOGY.md.

Disclaimer

This is an independent research project by GNOMATIX Skunkworks. It is not affiliated with, endorsed by, or supported by Synology Inc. Use these specifications at your own risk.


GNOSWX Badge

Do Be Bionic.