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"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}