Skip to content

Stammdaten

141 endpoints in this module.

Method Path Auth Permissions Roles Description
GET /api/bookings jwt BOOKINGS_READ List all bookings for tenant (optional status filter)
GET /api/bookings/:id jwt BOOKINGS_READ Get booking by ID
POST /api/bookings/check-out jwt BOOKINGS_WRITE Check out a tool manually (by toolId)
POST /api/bookings/check-out/qr jwt BOOKINGS_WRITE Check out a tool by scanning its QR code
POST /api/bookings/check-in/qr jwt BOOKINGS_WRITE Check in a tool by scanning its QR code
POST /api/bookings/:id/check-in jwt BOOKINGS_WRITE Check in a tool manually (by bookingId)
GET /api/bookings/tool/:toolId/active jwt BOOKINGS_READ Get active booking for a specific tool

Source: apps/api/src/modules/stammdaten/booking.controller.ts

Method Path Auth Permissions Roles Description
GET /api/branches jwt BRANCHES_READ List all branches for tenant
GET /api/branches/:id jwt BRANCHES_READ Get branch by ID with locations
POST /api/branches jwt BRANCHES_WRITE Create branch
PATCH /api/branches/:id jwt BRANCHES_WRITE Update branch
DELETE /api/branches/:id jwt BRANCHES_WRITE Delete branch

Source: apps/api/src/modules/stammdaten/branch.controller.ts

Method Path Auth Permissions Roles Description
GET /api/damage-categories jwt DAMAGES_READ List all damage categories for tenant
GET /api/damage-categories/:id jwt DAMAGES_READ Get damage category by ID
POST /api/damage-categories jwt DAMAGES_WRITE Create damage category
PATCH /api/damage-categories/:id jwt DAMAGES_WRITE Update damage category
DELETE /api/damage-categories/:id jwt DAMAGES_WRITE Delete damage category

Source: apps/api/src/modules/stammdaten/damage-category.controller.ts

Method Path Auth Permissions Roles Description
GET /api/damages jwt DAMAGES_READ List all damages for tenant (optional status/toolId filter, cursor pagination)
GET /api/damages/:id jwt DAMAGES_READ Get damage by ID
POST /api/damages jwt DAMAGES_WRITE Report a new damage (E-01: at least 1 photo required; E-02: auto-blocks tool on SEVERE/CRITICAL)
PATCH /api/damages/:id jwt DAMAGES_WRITE Update damage (status transitions: REPORTED→IN_REPAIR→RESOLVED/TOTAL_LOSS)
DELETE /api/damages/:id jwt DAMAGES_WRITE Delete damage record

Source: apps/api/src/modules/stammdaten/damage.controller.ts

Method Path Auth Permissions Roles Description
GET /api/inspection-records jwt MAINTENANCE_READ List all inspection records for tenant
GET /api/inspection-records/:id jwt MAINTENANCE_READ Get inspection record by ID
POST /api/inspection-records jwt MAINTENANCE_WRITE Create inspection record (E-07: auto-advances schedule nextDate, blocks tool on FAIL)
DELETE /api/inspection-records/:id jwt MAINTENANCE_WRITE Delete inspection record

Source: apps/api/src/modules/stammdaten/inspection-record.controller.ts

Method Path Auth Permissions Roles Description
GET /api/inspection-schedules jwt MAINTENANCE_READ List all inspection schedules for tenant
GET /api/inspection-schedules/overdue jwt MAINTENANCE_READ List overdue inspection schedules (E-02: abgelaufene Prüffrist)
GET /api/inspection-schedules/:id jwt MAINTENANCE_READ Get inspection schedule by ID
POST /api/inspection-schedules jwt MAINTENANCE_WRITE Create inspection schedule (E-06)
PATCH /api/inspection-schedules/:id jwt MAINTENANCE_WRITE Update inspection schedule
DELETE /api/inspection-schedules/:id jwt MAINTENANCE_WRITE Delete inspection schedule

Source: apps/api/src/modules/stammdaten/inspection-schedule.controller.ts

Method Path Auth Permissions Roles Description
GET /api/locations jwt BRANCHES_READ List all locations for tenant, optionally filtered by branch and type
GET /api/locations/:id jwt BRANCHES_READ Get location by ID
POST /api/locations jwt BRANCHES_WRITE Create location
PATCH /api/locations/:id jwt BRANCHES_WRITE Update location
DELETE /api/locations/:id jwt BRANCHES_WRITE Delete location

Source: apps/api/src/modules/stammdaten/location.controller.ts

Method Path Auth Permissions Roles Description
GET /api/notifications jwt NOTIFICATIONS_READ List notifications for tenant/user (E-08)
GET /api/notifications/unread-count jwt NOTIFICATIONS_READ Get unread notification count
GET /api/notifications/:id jwt NOTIFICATIONS_READ Get notification by ID
PATCH /api/notifications/:id/read jwt NOTIFICATIONS_WRITE Mark notification as read
PATCH /api/notifications/mark-all-read jwt NOTIFICATIONS_WRITE Mark all notifications as read for current user
DELETE /api/notifications/:id jwt NOTIFICATIONS_WRITE Delete notification

Source: apps/api/src/modules/stammdaten/notification.controller.ts

Method Path Auth Permissions Roles Description
GET /api/purchase-requests jwt PROCUREMENT_READ List all purchase requests for tenant (optional status/priority filter)
GET /api/purchase-requests/:id jwt PROCUREMENT_READ Get purchase request by ID
POST /api/purchase-requests jwt PROCUREMENT_WRITE Create purchase request (F-02: manual or auto from total loss)
PATCH /api/purchase-requests/:id jwt PROCUREMENT_WRITE Update purchase request (status: DRAFT→PENDING→APPROVED→ORDERED→RECEIVED)
DELETE /api/purchase-requests/:id jwt PROCUREMENT_WRITE Delete purchase request

Source: apps/api/src/modules/stammdaten/purchase-request.controller.ts

Method Path Auth Permissions Roles Description
GET /api/push/vapid-public-key jwt NOTIFICATIONS_READ Get VAPID public key for browser subscription (G-05)
POST /api/push/subscribe jwt NOTIFICATIONS_WRITE Subscribe a browser to Web Push notifications (G-05)
DELETE /api/push/subscribe jwt NOTIFICATIONS_WRITE Unsubscribe a browser from Web Push (G-05)
DELETE /api/push/subscriptions jwt NOTIFICATIONS_WRITE Remove all push subscriptions for the current user

Source: apps/api/src/modules/stammdaten/push.controller.ts

Method Path Auth Permissions Roles Description
GET /api/qr-codes jwt QRCODES_READ List all QR codes for tenant
GET /api/qr-codes/:id jwt QRCODES_READ Get QR code by ID
POST /api/qr-codes jwt QRCODES_WRITE Generate QR code for an entity
POST /api/qr-codes/verify jwt QRCODES_READ Verify a scanned QR code (HMAC check + duplicate scan detection)
POST /api/qr-codes/:id/regenerate jwt QRCODES_WRITE Regenerate QR code (invalidates old one)
PATCH /api/qr-codes/:id/printed jwt QRCODES_WRITE Mark QR code as printed
GET /api/qr-codes/:id/pdf jwt QRCODES_READ Download QR code label as PDF
DELETE /api/qr-codes/:id jwt QRCODES_WRITE Delete QR code

Source: apps/api/src/modules/stammdaten/qr-code.controller.ts

Method Path Auth Permissions Roles Description
GET /api/rental-pricing jwt RENTALS_READ List all rental pricing entries for tenant
GET /api/rental-pricing/tool/:toolId jwt RENTALS_READ Get effective pricing for a tool (tool-specific or tenant default)
GET /api/rental-pricing/:id jwt RENTALS_READ Get rental pricing by ID
POST /api/rental-pricing jwt RENTALS_WRITE Create rental pricing (tool-specific or tenant default)
PATCH /api/rental-pricing/:id jwt RENTALS_WRITE Update rental pricing
DELETE /api/rental-pricing/:id jwt RENTALS_DELETE Delete rental pricing

Source: apps/api/src/modules/stammdaten/rental-pricing.controller.ts

Method Path Auth Permissions Roles Description
GET /api/rental-protocols jwt RENTALS_READ List all rental protocols (optional rentalId filter)
GET /api/rental-protocols/:id jwt RENTALS_READ Get rental protocol by ID
POST /api/rental-protocols jwt RENTALS_WRITE Create a handover or return protocol with photos and signature (D-06)
DELETE /api/rental-protocols/:id jwt RENTALS_DELETE Delete rental protocol

Source: apps/api/src/modules/stammdaten/rental-protocol.controller.ts

Method Path Auth Permissions Roles Description
GET /api/rentals jwt RENTALS_READ List all rentals for tenant (optional status filter)
GET /api/rentals/:id jwt RENTALS_READ Get rental by ID
POST /api/rentals jwt RENTALS_WRITE Create a new rental (intern by employee, external renter data)
PATCH /api/rentals/:id jwt RENTALS_WRITE Update rental details
POST /api/rentals/:id/pickup jwt RENTALS_WRITE Mark rental as picked up (RESERVED → ACTIVE, tool → CHECKED_OUT)
POST /api/rentals/:id/return jwt RENTALS_WRITE Mark rental as returned (ACTIVE/OVERDUE → RETURNED, tool → AVAILABLE, cost calculated)
POST /api/rentals/:id/cancel jwt RENTALS_WRITE Cancel a reserved rental
POST /api/rentals/:id/deposit/collect jwt RENTALS_WRITE Collect deposit for a rental (D-05)
POST /api/rentals/:id/deposit/return jwt RENTALS_WRITE Return deposit (full or partial withholding) for a rental (D-05)
POST /api/rentals/:id/export-webhook jwt RENTALS_WRITE Mark rental as exported for webhook data transfer (D-07)
POST /api/rentals/:id/anonymize jwt RENTALS_DELETE Anonymize external renter data (DSGVO, D-08)
GET /api/rentals/anonymization/candidates jwt RENTALS_READ List rentals eligible for anonymization (2+ years after return)
DELETE /api/rentals/:id jwt RENTALS_DELETE Delete rental record

Source: apps/api/src/modules/stammdaten/rental.controller.ts

Method Path Auth Permissions Roles Description
GET /api/repair-orders jwt MAINTENANCE_READ List all repair orders for tenant (optional status/toolId filter)
GET /api/repair-orders/warranty-alerts jwt MAINTENANCE_READ E-04: Get repair orders with expiring/expired warranties (default 30 days ahead)
GET /api/repair-orders/:id jwt MAINTENANCE_READ Get repair order by ID
POST /api/repair-orders jwt MAINTENANCE_WRITE Create repair order (E-03: INTERNAL or EXTERNAL, auto-sets tool to IN_REPAIR)
PATCH /api/repair-orders/:id jwt MAINTENANCE_WRITE Update repair order (status: PENDING→IN_PROGRESS→COMPLETED/TOTAL_LOSS)
DELETE /api/repair-orders/:id jwt MAINTENANCE_WRITE Delete repair order

Source: apps/api/src/modules/stammdaten/repair-order.controller.ts

Method Path Auth Permissions Roles Description
GET /api/reports/admin-stats jwt REPORTS_READ Get admin dashboard statistics
GET /api/reports/inventory-summary jwt REPORTS_READ Get inventory summary statistics
GET /api/reports/inventory-pdf jwt REPORTS_READ Download inventory report as PDF
GET /api/reports/rental-stats jwt REPORTS_READ Get rental statistics (revenue, utilization, top tools)
GET /api/reports/damage-history jwt REPORTS_READ Get damage history report
GET /api/reports/inspection-report jwt REPORTS_READ Get inspection report (upcoming/overdue inspections)
GET /api/reports/inspection-pdf jwt REPORTS_READ Download inspection report as PDF

Source: apps/api/src/modules/stammdaten/report.controller.ts

Method Path Auth Permissions Roles Description
GET /api/reservations jwt RENTALS_READ List all reservations for tenant (optional status filter)
GET /api/reservations/:id jwt RENTALS_READ Get reservation by ID
GET /api/reservations/tool/:toolId/availability jwt RENTALS_READ Check tool availability for a date range
POST /api/reservations jwt RENTALS_WRITE Create a reservation (pre-booking for a tool)
POST /api/reservations/:id/confirm jwt RENTALS_WRITE Confirm a pending reservation
POST /api/reservations/:id/cancel jwt RENTALS_WRITE Cancel a reservation
DELETE /api/reservations/:id jwt RENTALS_DELETE Delete reservation record

Source: apps/api/src/modules/stammdaten/reservation.controller.ts

Method Path Auth Permissions Roles Description
GET /api/stock-thresholds jwt PROCUREMENT_READ List all stock thresholds for tenant
GET /api/stock-thresholds/by-tool/:toolId jwt PROCUREMENT_READ Get stock threshold by tool ID
GET /api/stock-thresholds/by-category/:categoryId jwt PROCUREMENT_READ Get stock threshold by category ID (F-05)
GET /api/stock-thresholds/:id jwt PROCUREMENT_READ Get stock threshold by ID
POST /api/stock-thresholds jwt PROCUREMENT_WRITE Create stock threshold (F-03/F-05: per-tool or per-category min quantity + auto-reorder)
PATCH /api/stock-thresholds/:id jwt PROCUREMENT_WRITE Update stock threshold
POST /api/stock-thresholds/trigger-reorder-check jwt PROCUREMENT_WRITE Manually trigger stock reorder check (F-06)
DELETE /api/stock-thresholds/:id jwt PROCUREMENT_WRITE Delete stock threshold

Source: apps/api/src/modules/stammdaten/stock-threshold.controller.ts

Method Path Auth Permissions Roles Description
GET /api/tool-brands jwt TOOLS_READ List all tool brands for tenant
GET /api/tool-brands/:id jwt TOOLS_READ Get tool brand by ID
POST /api/tool-brands jwt TOOLS_WRITE Create tool brand
PATCH /api/tool-brands/:id jwt TOOLS_WRITE Update tool brand
DELETE /api/tool-brands/:id jwt TOOLS_DELETE Delete tool brand

Source: apps/api/src/modules/stammdaten/tool-brand.controller.ts

Method Path Auth Permissions Roles Description
GET /api/tool-categories jwt TOOLS_READ List all tool categories for tenant
GET /api/tool-categories/:id jwt TOOLS_READ Get tool category by ID
POST /api/tool-categories jwt TOOLS_WRITE Create tool category
PATCH /api/tool-categories/:id jwt TOOLS_WRITE Update tool category
DELETE /api/tool-categories/:id jwt TOOLS_DELETE Delete tool category

Source: apps/api/src/modules/stammdaten/tool-category.controller.ts

Method Path Auth Permissions Roles Description
GET /api/tool-history/tool/:toolId jwt TOOLS_READ Get history for a specific tool
GET /api/tool-history jwt TOOLS_READ Get recent tool history for tenant

Source: apps/api/src/modules/stammdaten/tool-history.controller.ts

Method Path Auth Permissions Roles Description
GET /api/tool-sets jwt TOOLS_READ List all tool sets for tenant
GET /api/tool-sets/:id jwt TOOLS_READ Get tool set by ID with items
POST /api/tool-sets jwt TOOLS_WRITE Create tool set with optional items
PATCH /api/tool-sets/:id jwt TOOLS_WRITE Update tool set (replaces items if provided)
DELETE /api/tool-sets/:id jwt TOOLS_DELETE Delete tool set

Source: apps/api/src/modules/stammdaten/tool-set.controller.ts

Method Path Auth Permissions Roles Description
GET /api/tools jwt TOOLS_READ List all tools for tenant (cursor pagination optional)
GET /api/tools/:id jwt TOOLS_READ Get tool by ID
POST /api/tools jwt TOOLS_WRITE Create tool
PATCH /api/tools/:id jwt TOOLS_WRITE Update tool
DELETE /api/tools/:id jwt TOOLS_DELETE Delete tool
POST /api/tools/upload-image jwt TOOLS_WRITE Upload sample image for a tool (base64 JSON)

Source: apps/api/src/modules/stammdaten/tool.controller.ts

Method Path Auth Permissions Roles Description
GET /api/transfers jwt TRANSFERS_READ List all transfers for tenant (optional status/branch filters)
GET /api/transfers/:id jwt TRANSFERS_READ Get transfer by ID (F-01)
POST /api/transfers jwt TRANSFERS_WRITE Create transfer (F-01: cross-branch tool transfer)
PATCH /api/transfers/:id jwt TRANSFERS_WRITE Update transfer (F-03: status transitions REQUESTED→APPROVED→IN_TRANSIT→RECEIVED)
DELETE /api/transfers/:id jwt TRANSFERS_WRITE Delete transfer (only when REQUESTED or CANCELLED)
GET /api/transfers/:id/delivery-note jwt TRANSFERS_READ Get delivery note data as JSON (F-02: Digitaler Lieferschein)
GET /api/transfers/:id/delivery-note.pdf jwt TRANSFERS_READ Download delivery note as PDF (F-02: Digitaler Lieferschein)

Source: apps/api/src/modules/stammdaten/transfer.controller.ts