Skip to main content

API Documentation

FDM Monster includes built-in API documentation using Swagger/OpenAPI. This interactive documentation allows you to explore and test all available API endpoints directly from your browser.

Accessing Swagger UI​

Once FDM Monster is running, you can access the interactive API documentation at:

http://localhost:4000/api-docs

Or if accessing from another device on your network:

http://YOUR_SERVER_IP:4000/api-docs

Replace YOUR_SERVER_IP with your server's IP address.

Features​

The Swagger UI provides:

  • Interactive API Testing - Try out API endpoints directly from the browser
  • Complete Endpoint Documentation - Detailed information about all available endpoints
  • Request/Response Examples - See example requests and responses for each endpoint
  • Schema Definitions - View data models and their properties
  • Authentication Testing - Test authenticated endpoints with your API token

OpenAPI JSON Specification​

The raw OpenAPI specification is available in JSON format at:

http://localhost:4000/api-docs/swagger.json

This JSON file can be:

  • Imported into API testing tools like Postman or Insomnia
  • Used to generate client libraries in various programming languages
  • Integrated into CI/CD pipelines for API testing
  • Used with code generators to create type-safe API clients

Configuration​

Disabling Swagger​

If you want to disable the Swagger UI in production, set the following environment variable:

DISABLE_SWAGGER_OPENAPI=true

See the Environment Variables Guide for more details.

Generating Swagger JSON File​

To generate a swagger.json file in your media folder, set:

GENERATE_SWAGGER_JSON=true

The file will be saved to media/swagger.json.

API Versions​

FDM Monster uses versioned API endpoints:

  • v2 - Current API version available at /api/v2/*
  • Future versions will be added alongside existing versions to maintain compatibility

Authentication​

Most API endpoints require authentication. To use the Swagger UI with authenticated endpoints:

  1. Log in to FDM Monster in another browser tab
  2. The Swagger UI will use your active session
  3. Alternatively, use API keys for programmatic access

Use Cases​

For Developers​

  • Explore the API - Understand what endpoints are available and how they work
  • Test Integration - Try API calls before implementing them in your application
  • Debug Issues - Test specific endpoints to isolate problems
  • Generate Clients - Use the OpenAPI spec to generate type-safe API clients

For Integration​

The OpenAPI specification enables:

  • Custom dashboard development
  • Third-party integrations
  • Mobile app development
  • Automation scripts
  • Monitoring and alerting tools

Example: Testing an Endpoint​

  1. Navigate to http://localhost:4000/api-docs
  2. Find the endpoint you want to test (e.g., GET /api/v2/printer)
  3. Click on the endpoint to expand it
  4. Click "Try it out"
  5. Fill in any required parameters
  6. Click "Execute"
  7. View the response below

Common Endpoints​

Some commonly used API endpoints include:

  • Printers - GET /api/v2/printer - List all printers
  • Floors - GET /api/v2/floor - Get printer floor layouts
  • Files - GET /api/v2/file - List uploaded files
  • Settings - GET /api/v2/settings - Retrieve server settings
  • Print Jobs - GET /api/v2/print-job - View print job history

Additional Resources​