Report File Storage Client
API Contract
REST
/api/v1/report-files
5 endpoints
GET
/api/v1/report-files/api/v1/report-files
List stored report files for an organisation
Public
Response Example
{
"data": [
{
"file_ref": "reports/org_bufdir_oslo_42/2025-Q4/report_final.xlsx",
"org_id": "org_bufdir_oslo_42",
"file_name": "report_final.xlsx",
"file_size_bytes": 204800,
"content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"exists": true,
"uploaded_at": "2026-01-05T08:14:20Z"
},
{
"file_ref": "reports/org_bufdir_oslo_42/2025-annual/report_final.xlsx",
"org_id": "org_bufdir_oslo_42",
"file_name": "report_final.xlsx",
"file_size_bytes": 512000,
"content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"exists": true,
"uploaded_at": "2026-02-10T10:59:55Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/report-files/api/v1/report-files/:file_ref_encoded
Get metadata and a signed download URL for a stored report file
Public
Response Example
{
"file_ref": "reports/org_bufdir_oslo_42/2025-Q4/report_final.xlsx",
"org_id": "org_bufdir_oslo_42",
"file_name": "report_final.xlsx",
"file_size_bytes": 204800,
"content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"exists": true,
"signed_url": "https://storage.bufdir.no/reports/org_bufdir_oslo_42/2025-Q4/report_final.xlsx?X-Amz-Signature=def456&X-Amz-Expires=3600",
"url_expires_at": "2026-03-26T14:00:00Z",
"uploaded_at": "2026-01-05T08:14:20Z"
}
POST
/api/v1/report-files/api/v1/report-files
Upload a report file to storage (multipart/form-data)
Public
Request Example
{
"org_id": "org_bufdir_oslo_42",
"file_name": "report_Q1_2026.xlsx",
"content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"_note": "Binary file bytes sent as multipart field 'file'"
}
Response Example
{
"file_ref": "reports/org_bufdir_oslo_42/uploads/report_Q1_2026_20260326T120000.xlsx",
"org_id": "org_bufdir_oslo_42",
"file_name": "report_Q1_2026.xlsx",
"file_size_bytes": 318720,
"content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"exists": true,
"uploaded_at": "2026-03-26T12:00:05Z"
}
PUT
/api/v1/report-files/api/v1/report-files/:file_ref_encoded
Replace an existing report file in storage (multipart/form-data)
Public
Request Example
{
"org_id": "org_bufdir_oslo_42",
"file_name": "report_Q1_2026_revised.xlsx",
"content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"_note": "Binary file bytes sent as multipart field 'file'"
}
Response Example
{
"file_ref": "reports/org_bufdir_oslo_42/uploads/report_Q1_2026_20260326T120000.xlsx",
"org_id": "org_bufdir_oslo_42",
"file_name": "report_Q1_2026_revised.xlsx",
"file_size_bytes": 322560,
"content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"exists": true,
"uploaded_at": "2026-03-26T13:00:00Z"
}
DELETE
/api/v1/report-files/api/v1/report-files/:file_ref_encoded
Permanently delete a report file from storage
Public
Response Example
{
"file_ref": "reports/org_bufdir_oslo_42/uploads/report_Q1_2026_20260326T120000.xlsx",
"deleted": true,
"deleted_at": "2026-03-26T14:00:00Z"
}