Bufdir Attachment Bundler
API Contract
REST
/api/v1/bufdir-attachment-bundles
5 endpoints
GET
/api/v1/bufdir-attachment-bundles/api/v1/bufdir-attachment-bundles/:export_id/manifest
Get attachment manifest for an export
Public
Response Example
{
"export_id": "exp-20260301-abc123",
"total_files": 14,
"total_size_bytes": 4872340,
"files": [
{
"activity_id": "act-001",
"file_name": "rapport_juni.pdf",
"size_bytes": 340221,
"mime_type": "application/pdf"
},
{
"activity_id": "act-002",
"file_name": "bilag_001.jpg",
"size_bytes": 102400,
"mime_type": "image/jpeg"
}
],
"created_at": "2026-03-01T08:01:00Z"
}
POST
/api/v1/bufdir-attachment-bundles/api/v1/bufdir-attachment-bundles
Bundle attachments for a list of activities
Public
Request Example
{
"export_id": "exp-20260326-xyz789",
"activity_ids": [
"act-001",
"act-002",
"act-003"
]
}
Response Example
{
"export_id": "exp-20260326-xyz789",
"status": "bundling",
"file_count": 3,
"started_at": "2026-03-26T10:00:05Z"
}
POST
/api/v1/bufdir-attachment-bundles/api/v1/bufdir-attachment-bundles/:export_id/zip
Generate a ZIP archive for all bundled attachments
Public
Response Example
{
"export_id": "exp-20260326-xyz789",
"zip_file_name": "bufdir-export-attachments-20260326.zip",
"zip_size_bytes": 5124096,
"download_url": "https://storage.example.no/exports/exp-20260326-xyz789-attachments.zip",
"expires_at": "2026-04-26T10:00:00Z"
}
POST
/api/v1/bufdir-attachment-bundles/api/v1/bufdir-attachment-bundles/:export_id/validate
Validate attachment integrity for an export
Public
Response Example
{
"export_id": "exp-20260326-xyz789",
"valid": true,
"total_checked": 14,
"corrupt_files": [],
"missing_files": []
}
DELETE
/api/v1/bufdir-attachment-bundles/api/v1/bufdir-attachment-bundles/:export_id
Delete attachment bundle for an export
Public
Response Example
{
"deleted": true,
"export_id": "exp-20260301-abc123"
}