Media — technical overview
Scaffolded stub — replace with proper documentation when this module is next touched.
Auto-discovered facts about the media module. See the module's own notes at backend/app/modules/media/CLAUDE.md for context the scaffold could not infer.
API surface
DELETE /api/v1/media/attachments/{attachment_id}DELETE /api/v1/media/documents/{document_id}DELETE /api/v1/media/documents/{document_id}/pairGET /api/v1/media/attachmentsGET /api/v1/media/documents/{document_id}GET /api/v1/media/documents/{document_id}/downloadGET /api/v1/media/patients/{patient_id}/documentsGET /api/v1/media/patients/{patient_id}/photosPATCH /api/v1/media/documents/{document_id}/photo-metadataPOST /api/v1/media/attachmentsPOST /api/v1/media/documents/{document_id}/pair/{other_id}POST /api/v1/media/patients/{patient_id}/documentsPOST /api/v1/media/patients/{patient_id}/photosPUT /api/v1/media/documents/{document_id}
Frontend
This module ships no Nuxt pages.
Permissions
documents.read, documents.write, attachments.read, attachments.write
See ./permissions.md for the full role mapping.
Events
- Emits: (none)
- Subscribes:
patient.archived
See ./events.md for the per-event detail (when the module participates in the event bus).
See also
- Module CLAUDE notes:
backend/app/modules/media/CLAUDE.md - Documentation portal contract