Plugin: Spoolman API

The Spoolman API Plugin exposes a fully Spoolman-compatible REST API that maps to FilaMan's internal data model. External tools like Moonraker, OctoPrint, and others can use FilaMan as a drop-in replacement for Spoolman. Unlike Spoolman itself, this plugin includes IP-based access control — a security layer missing in Spoolman.

Installation:Admin: Plugin Management


Overview

Property Value
Plugin Type Integration
Author FilaMan
Source Fire-Devils/filaman-plugins (Registry)
API Path /spoolman/api/v1/
Capabilities Spoolman API v1 compatibility, CRUD operations, CSV/JSON export, IP access control

What is Spoolman?

Spoolman is a widely used open-source filament management system for 3D printing. Many tools in the 3D printing ecosystem (e.g. Moonraker, OctoPrint) support the Spoolman API for tracking filament usage and managing spools.

With this plugin, FilaMan can be used instead of Spoolman without needing to reconfigure external tools — they simply speak the same API.


Configuring External Tools

Moonraker (Klipper)

Add the following to your moonraker.conf:

[spoolman]
server: http://<filaman-host>:8000/spoolman

Replace <filaman-host> with the IP address or hostname of your FilaMan installation.

OctoPrint

In the Spoolman plugin settings of OctoPrint, use the URL:

http://<filaman-host>:8000/spoolman

Other Tools

Any tool that supports the Spoolman API can be configured with the same URL:

http://<filaman-host>:8000/spoolman/api/v1/

IP Access Control

The plugin provides IP-based access control that lets you restrict which devices are allowed to access the Spoolman API.

Settings

You can find the settings on the plugin page in the admin area under Spoolman API.

Setting Description
IP filter enabled Toggles IP access control on/off. Disabled by default (all IPs allowed).
Allowed IPs List of allowed IP addresses or ranges

Supported IP Formats

Format Example Description
Wildcard * Allow all IPs
Single IP 192.168.1.5 Exact IP address
CIDR range 192.168.1.0/24 Entire subnet
Large range 10.0.0.0/8 Large network range

Note: When the IP filter is enabled and a non-allowed IP attempts access, the request is rejected with HTTP 403 (Forbidden).


API Endpoints

All Spoolman endpoints are available under the path /spoolman/api/v1/:

System

Method Path Description
GET /info API information
GET /health Health check

Vendors

Method Path Description
GET /vendor List all vendors
POST /vendor Create new vendor
GET /vendor/{id} Get vendor
PATCH /vendor/{id} Update vendor
DELETE /vendor/{id} Delete vendor

Filaments

Method Path Description
GET /filament List all filaments
POST /filament Create new filament
GET /filament/{id} Get filament
PATCH /filament/{id} Update filament
DELETE /filament/{id} Delete filament

Spools

Method Path Description
GET /spool List all spools
POST /spool Create new spool
GET /spool/{id} Get spool
PATCH /spool/{id} Update spool
DELETE /spool/{id} Delete spool
PUT /spool/{id}/use Use filament from spool
PUT /spool/{id}/measure Measure spool weight

Additional Endpoints

Method Path Description
GET /material List material types
GET /location List locations
PATCH /location/{name} Rename location
GET /setting/{key} Get setting
POST /setting/{key} Set setting

Export

Method Path Description
GET /export/spools Export spools (CSV/JSON)
GET /export/filaments Export filaments (CSV/JSON)
GET /export/vendors Export vendors (CSV/JSON)
POST /backup Create backup

Data Mapping

Spoolman API terms are mapped internally to the FilaMan data model:

Spoolman Term FilaMan Equivalent
Vendor Manufacturer
Filament Filament
Spool Spool
Location Location
Extra Fields Custom Fields

Back: Plugin: SpoolmanDB Import | Next: More Plugins →