Reports
Generate and retrieve deficiency reports for buildings. Reports analyse building documentation and identify gaps in coverage.
List Report Themes
/building_owners/{buildingOwnerId}/buildings/{buildingId}/reportsList all deficiency report themes for a building. Returns a flat array of theme objects.
Authentication
x-api-key header
buildingOwnerIdstringBuilding owner IDbuildingIdstringBuilding ID
200Success401Missing or invalid API key404Building not found
All endpoints may also return 429 (rate limit) and 500 (server error). See Common Patterns for details.
[].idstringTheme ID[].nameIdstringName identifier[].themestringTheme group[].namestringDisplay name[].descriptionstringTheme description[].lawsstringRelevant laws and regulations[].disciplinestringTechnical discipline[].commentstringAdditional comment[].statusstringCompliance status[].parentIdstring | nullParent theme ID for hierarchy, null for top-level themes[].createdAtstringISO 8601 creation timestamp[].updatedAtstringISO 8601 last update timestamp
Response
[
{
"id": "theme-001",
"nameId": "fire-safety",
"theme": "Safety",
"name": "Fire Safety",
"description": "Fire safety documentation and compliance",
"laws": "TEK17 §11",
"discipline": "Fire",
"comment": "",
"status": "partial",
"parentId": null,
"createdAt": "2025-06-15T10:00:00Z",
"updatedAt": "2025-06-15T10:00:00Z"
}
]Generate Report
/building_owners/{buildingOwnerId}/buildings/{buildingId}/reportsGenerate a new deficiency report. Despite the response message wording, the report completes synchronously and is available immediately.
Authentication
x-api-key header
buildingOwnerIdstringBuilding owner IDbuildingIdstringBuilding ID
country'NO' | 'GB'requiredCountry code for regulatory frameworkversion'v1' | 'v2'requiredReport format version
Request Body Example
{
"country": "NO",
"version": "v2"
}200Report generated successfully400Invalid request body401Missing or invalid API key403API key lacks permission404Building not found
All endpoints may also return 429 (rate limit) and 500 (server error). See Common Patterns for details.
messagestringConfirmation messagebuildingIdstringBuilding the report is forisGeneratingReportbooleanLegacy field retained for backwards compatibility — always false. Report generation completes synchronously. Ignore this field.
Response
{
"message": "Deficiency report generation started successfully",
"buildingId": "bld-789",
"isGeneratingReport": false
}Report Documents
/building_owners/{buildingOwnerId}/buildings/{buildingId}/reports/{reportId}/documentsList documents linked to a specific report category. Returns a flat array.
Authentication
x-api-key header
buildingOwnerIdstringBuilding owner IDbuildingIdstringBuilding IDreportIdstringReport theme ID
200Success401Missing or invalid API key404Report not found
All endpoints may also return 429 (rate limit) and 500 (server error). See Common Patterns for details.
[].deficiencyReportCategoryIdstringReport category ID[].documentIdstringLinked document ID[].buildingIdstringBuilding ID[].customerIdstringBuilding owner ID[].addedAtstringWhen the document was linked[].updatedAtstringLast update timestamp[].addedBystringUser who linked the document[].updatedBystringUser who last updated the link
Response
[
{
"deficiencyReportCategoryId": "theme-001",
"documentId": "doc-1",
"buildingId": "bld-789",
"customerId": "cust-456",
"addedAt": "2025-07-01T09:00:00Z",
"updatedAt": "2025-07-01T09:00:00Z",
"addedBy": "user-123",
"updatedBy": "user-123"
}
]Add Document to Report
/building_owners/{buildingOwnerId}/buildings/{buildingId}/reports/{reportId}/documents/{documentId}Link a document to a report category. Note: the document ID must be provided in both the URL path and the request body.
Authentication
x-api-key header
buildingOwnerIdstringBuilding owner IDbuildingIdstringBuilding IDreportIdstringReport theme IDdocumentIdstringDocument ID to link
documentIdstringrequiredDocument ID — validated against the URL path parameter to prevent mismatches.
Request Body Example
{ "documentId": "doc-1" }200Document linked to report400Invalid request body401Missing or invalid API key403API key lacks permission404Report or document not found
All endpoints may also return 429 (rate limit) and 500 (server error). See Common Patterns for details.
messagestringConfirmation messagedeficiencyReportCategoryIdstringReport category the document was linked todocumentIdstringLinked document ID
Response
{
"message": "Document added to report category successfully",
"deficiencyReportCategoryId": "theme-001",
"documentId": "doc-1"
}Remove Document from Report
/building_owners/{buildingOwnerId}/buildings/{buildingId}/reports/{reportId}/documents/{documentId}Remove a document from a report category.
Authentication
x-api-key header
buildingOwnerIdstringBuilding owner IDbuildingIdstringBuilding IDreportIdstringReport theme IDdocumentIdstringDocument ID to remove
200Document removed from report401Missing or invalid API key403API key lacks permission404Report, document, or link not found
All endpoints may also return 429 (rate limit) and 500 (server error). See Common Patterns for details.
messagestringConfirmation messagedeficiencyReportCategoryIdstringReport category the document was removed fromdocumentIdstringRemoved document ID
Response
{
"message": "Document removed from report category successfully",
"deficiencyReportCategoryId": "theme-001",
"documentId": "doc-1"
}