A full REST API for ISPConfig (OpenAPI, all modules) — looking for testers

Discussion in 'Developers' Forum' started by tio289, Jul 6, 2026.

  1. tio289

    tio289 Member

    This request comes up a lot, so I wanted to share a project I've built to actually solve it.

    As many have pointed out, the official "REST" endpoints are really just a thin wrapper around the old SOAP remote API - limited coverage, no OpenAPI/Swagger spec, and a lot of features simply aren't exposed. I wanted something that treats a real REST API as the goal, not an afterthought.

    So I built ispconfig-rest: a modern, contract-first REST API for ISPConfig 3.3, on Laravel 12.
    • ~270 endpoints across every module - clients, DNS, mail, sites, servers, monitoring, and system config. Not a subset.
    • OpenAPI 3 contract + live Swagger UI - try any call from the browser. There's a live demo instance here: https://isp-test.feldhost.cz:8090/api/documentation
    • Works exactly like the panel does. Every write goes through ISPConfig's own sys_datalog in the same byte format the interface produces, so the ISPConfig server daemons pick up and apply changes identically. It reads the DB directly but never bypasses ISPConfig's change management.
    • Standard conventions - JSON everywhere, {data, meta} lists, RFC 9457 error bodies, X-API-Key auth.
    • Real permissions - keys are bound to an ISPConfig user, so client/reseller keys are scoped to exactly what that user can see and do (sys_perm_*), including per-client resource limits. Not admin-only.
    • One-line installer for an existing ISPConfig server - reads your DB credentials from ISPConfig's own config, serves via a dedicated php-fpm pool + vhost reusing the panel's SSL cert, and opens the port in ISPConfig's firewall. Ships an ispconfig-rest CLI for updates.
    It's reverse-engineered from the 3.3.x source (mirroring the interface's validation and behavior) and validated end-to-end against a live 3.3.1 server - a real ISPConfig daemon processes its writes without complaint.

    It's tagged v1.0.0-rc.1 - feature-complete and tested, but I'd love real-world feedback before calling it final. Bug reports, edge cases, and "does it do X?" questions all welcome.
    Not an official ISPConfig project — just something I needed and figured others here would too.
     
    linus and ahrasis like this.
  2. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    Thank you for sharing.
     

Share This Page