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 |