Back to Directory/Documentation

3D Print Log

Log and query 3D prints, printers, filament, and projects on 3dprintlog.com, and search its docs.

DocumentationC#v1.1.0
3D Print Log

3D Print Log API

CI License: AGPL v3

The backend API powering 3D Print Log — a web application for tracking 3D prints, printers, and filaments. Running in production at api.3dprintlog.com/swagger.

Features

  • Prints — log print jobs with duration, material usage, quality ratings, and images
  • Printers — manage your printer inventory with per-printer statistics
  • Filaments — track filament stock, usage, and costs
  • Projects — group related prints together with project-level image galleries
  • Slicer integration — import print settings directly from Cura, OrcaSlicer, PrusaSlicer, and Bambu Studio
  • Printer webhooks — automatic print logging via OctoPrint and Klipper/Moonraker integrations
  • Electricity cost tracking — record wattage per printer and calculate per-print power costs
  • Dual authentication — Auth0 JWT Bearer for the web app and API key (X-Api-Key header) for integrations
  • Image uploads — per-print and per-project image storage via Azure Blob Storage

API Documentation

Explore the live API: api.3dprintlog.com/swagger

Getting Started

See CONTRIBUTING.md for local setup, configuration, and running tests.

The frontend lives at HoffmanEngineering/3d-print-log-ui. Most feature work requires both running locally.

Tech Stack

  • ASP.NET Core (.NET 10)
  • Entity Framework Core + SQL Server
  • Auth0 (JWT Bearer authentication)
  • Azure Blob Storage (file storage)
  • Stripe (subscription billing)

Infrastructure

The production environment runs on Azure (App Service, SQL Server, Blob Storage). That part is manually managed. Email is the exception: Amazon SES, its DNS and the event webhook topic are defined in Terraform in HoffmanEngineering/3d-print-log-infra.

Email is configured through the Email section (PrintLogApi/Email/EmailOptions.cs lists every key and default; the example appsettings files show the shape). It is off by default: nothing is sent until Email:Enabled is true. docs/email-runbook.md covers dry runs, going live, key rotation and the single-instance requirement, and docs/email-metrics.md the holdout measurements.

If your contribution requires infrastructure changes (new environment variables, Azure resource configuration, etc.), call this out explicitly in your PR description so the maintainer can coordinate the changes before the code ships.

Questions & Discussions

Usage questions are best asked in 3D Print Log Discussions. That board is the front door for the whole project — the web app, this repository, and both slicer plugins — so you do not have to work out which repository your question belongs to, and answers stay searchable for whoever asks next.

Bug reports and feature requests still belong in this repository's issues.

Use It With an AI Agent

The API hosts an MCP server at https://api.3dprintlog.com/mcp, and this repo publishes an agent skill that teaches an agent to use it well: skills/3d-print-log.

# The skill, for any agent the skills CLI supports
npx skills add HoffmanEngineering/3d-print-log-api

# The skill and the MCP server together, as a Claude Code plugin
claude plugin marketplace add HoffmanEngineering/3d-print-log-api
claude plugin install 3d-print-log@3d-print-log

The repo root is also an Agent Plugins package (plugin.json and mcp.json).

Support Development

If you find 3D Print Log useful, consider supporting its development:

License

GNU Affero General Public License v3.0

Setup from the maintainer

This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.

Learn More