Files
runtipi/apps/be9700-api/metadata/description.md

1.4 KiB

BE9700 Router API

A stateless Node.js proxy and interactive API documentation server for the TP-Link BE9700 WiFi 7 router.

What it does

  • Exposes the router's internal API as a clean, resource-oriented REST surface (/api/*) covering 203 endpoints across wireless bands (2.4 GHz / 5 GHz / 6 GHz), LAN/DHCP, NAT, UPnP, system time, and diagnostics.
  • Serves interactive Scalar API docs at /docs — explore and try every endpoint directly in the browser.
  • Returns the OpenAPI 3.1 specification at /openapi.json for use with any compatible tooling.
  • Health/status JSON at /.

Stateless header-auth model

No router credentials are stored in the container or in Runtipi form fields. Every request to /api/* must carry:

Header Purpose
X-Router-Host Router IP or hostname (e.g. 192.168.0.1)
X-Router-Password Router admin password (for fresh sessions)
X-Router-Session Reuse a session token returned by a previous call (JSON)

This means the container itself holds no secrets and is safe to expose via Traefik without any additional auth middleware — just use the API from clients that supply the headers.

Quick start

Once installed, open the Scalar docs at http://<your-server>:8347/docs and authenticate each request with the X-Router-Host and X-Router-Password headers.

Source

https://git.alexzaw.dev/alexz/be9700-api