Skip to content

API Reference

Complete REST API documentation for Printernizer. All endpoints follow RESTful conventions and return JSON responses.

Base URL

http://localhost:8000/api/v1

Available API Endpoints

Core APIs

System APIs

Quick Start

Authentication

Currently, Printernizer does not require authentication. Future releases will include role-based access control.

Request Format

All POST/PUT requests should include:

Content-Type: application/json

Response Format

All responses follow this structure:

{
  "status": "success",
  "data": { ... },
  "message": "Optional message"
}

Error responses:

{
  "status": "error",
  "error": "Error description",
  "details": { ... }
}

Example Request

# Get all printers
curl http://localhost:8000/api/v1/printers

# Get specific printer
curl http://localhost:8000/api/v1/printers/abc123

# Download a file
curl -X POST http://localhost:8000/api/v1/files/download \\
  -H "Content-Type: application/json" \\
  -d '{"printer_id": "abc123", "file_path": "/models/test.3mf"}'

Interactive API Documentation

Printernizer includes interactive API documentation:

Health Endpoints

GET /api/v1/health

Check system health status.

Response:

{
  "status": "healthy",
  "version": "2.7.0",
  "uptime": 3600,
  "database": "connected"
}

GET /api/v1/update-check

Check for available updates.

Response:

{
  "current_version": "2.7.0",
  "latest_version": "2.7.0",
  "update_available": false,
  "release_url": "https://github.com/schmacka/printernizer/releases/latest"
}

Auto-Generated Documentation

The following API documentation pages are auto-generated from the FastAPI OpenAPI specification:

Rate Limiting

Currently, there are no rate limits. This may change in future releases.

Versioning

The API uses URL versioning (e.g., /api/v1/). Breaking changes will increment the version number.

Need Help?