Skip to content

Notifications and API

DeLFuS77 edited this page Oct 19, 2026 · 2 revisions

After every synchronization the app can tell you about new updates and DLC of your games, through a Discord webhook, a Telegram bot or any webhook that accepts JSON (ntfy, Home Assistant, n8n...). Set them in Settings > Notifications; only new items are reported.

What is told, each with its switch:

  • New updates and DLC of your games
  • Your wishlist: a wished game that comes out, or gets new DLC
  • New cheats for my games: the cheats database gets cheats for the version of a game you have, or a game you updated has cheats for its new version. The first time, the games that have cheats already are only recorded, so you are not sent hundreds of them at once
  • New games and DLC that appear in your folders

API

The JSON API lists the library and its statistics and downloads files. It is described in OpenAPI format, also served by the app at /api/openapi.json.

Endpoint Description
GET /api/titles Games in the library with their updates and DLC
GET /api/statistics The numbers of the Statistics page
GET /api/titles/{titleId}/archive.zip All files of a game as one ZIP
GET /api/titles/{titleId}/cheats.zip, GET /api/cheats.zip The cheats of a game, or of the library, for the SD card (see Cheats)
GET /export/library.csv, /export/library.json Library export
GET /sync, POST /sync Synchronization status, start a synchronization
GET /api/tasks, GET /api/tasks/events Running and recent tasks, and their live updates
GET /healthz Health check, without login

When a login is required, API clients use HTTP basic authentication (a read-only user is enough to read). Example Home Assistant sensor:

rest:
  - resource: http://192.168.1.10:3000/api/statistics
    # username: viewer
    # password: !secret switch_library_password
    scan_interval: 3600
    sensor:
      - name: Switch games
        value_template: "{{ value_json.games }}"
      - name: Switch games with a missing update
        value_template: "{{ value_json.gamesWithUpdate }}"
      - name: Switch missing DLC
        value_template: "{{ value_json.missingDlc }}"

Clone this wiki locally