Returns a BRF-tailored aggregate for a housing cooperative (bostadsrättsförening): core identity, owned properties, historical financial reports (with raw-LLM extract), and available annual-report files. Only returns data when the company is registered as a BRF.
extendedDetailsfinancials[] may include an extendedDetails object — content
extracted by an agent system that runs a sequence of steps:
extendedDetails as a best-effort, evolving block.
What’s in it today
| Field | Description |
|---|---|
managementReportSummary | Free-text summary of the förvaltningsberättelse. |
property | propertyDesignation, constructionYear, landTenure, tomtrattsavgald, residential / commercial / total area in m², counts of commercial units, parking, garage, storage. |
board | Chairman, board-member count, deputy count. |
auditor | Auditor company, auditor name, audit opinion (e.g. "ren"). |
management | Technical / financial property management providers. |
loanPortfolio | Loan count, total debt, weighted-average interest rate, fixed-rate share, loans maturing within 12 months. |
feeChanges | Latest fee-change date and percent, free-text description of planned changes. |
energy | Energy class, energy performance (kWh/m²), energy-declaration date. |
extendedKeyRatios | Equity ratio, loan-to-value, maintenance-fund balance, annual maintenance-fund contribution. |
significantEvents | Array of strings — the väsentliga händelser noted in the report. |
plannedMaintenance | Array of strings — line items from the underhållsplan. |
extendedDetails. When a financial row’s
report.createdFromComparativeFigures is true, the row intentionally omits
extendedDetails — the narrative belongs to the year the annual report was
filed, not to its prior-year comparatives. The same BRF will therefore have
exactly one extendedDetails block per filed annual report, attached to the
primary-period row only.extendedDetails and every property under it as optional.extendedDetails.* and a structured field on the same financials[] row
(brfMetrics, keyRatios, report, notes) is authoritative under the
typed name. Use extendedDetails for fields that have no typed equivalent
today, and re-check when you upgrade integrations — fields move out as the
schema matures.extendedDetails without an API version bump, and existing keys can
disappear (graduating to typed columns) the same way. Don’t hardcode
exhaustive type definitions against this object — model it as
Record<string, unknown> or Map<string, any> and access fields
defensively.property.landTenure returns
"agandeRatt" (freehold) or "tomtratt" (site leasehold),
auditor.auditOpinion returns "ren" (clean), "oren", etc.Internal company ID
Aggregated BRF data
reorganizationOfBusinessCommenced, bankruptcyTerminatedWithSurplus, dissolvedByCompanyDemerger, liquidationTerminated, mergerProcedureCommenced, acquisitionByCompanyDemerger, acquisitionByMerger, dissolvedByMergerProcedure, liquidationDecided, bankruptcyProceedingsCommenced, bankruptcyProceedingsTerminated, mergerPermitted, unused1, unused2, unused3, liquidationContinues, struckOffRegisterCrossBorderMerger, bankruptcyRepealedByCourt, liquidationEnds, liquidationRepealedByCourt, companyStruckOff, reorganizationOfBusinessEnded, reorganizationOfBusinessRepealedByCourt, resolutionCommenced, resolutionTerminated, resolutionRepealedByCourt, companyStruckOffTradeRegisterAct, deregisteredNewHolder, deregistered, reintroduced, companyStruckOffOwnRequest, companyStruckOffByRegistrationOffice, companyStruckOffReenteredAsJointStock, branchStruckOffForeignLiquidationOrBankruptcy, branchStruckOffOperationsCeased, branchStruckOffMissingCEO, branchStruckOffCourtOrder, branchStruckOffAnnualReportMissing, isActive, isNoLongerActive, hasNeverBeenActive, taxAuthorityStatus, companyDemergerCommenced, settlementNegotiationsCommenced, settlementNegotiationsTerminated, settlementNegotiationsRepealedByCourt, acquisitionExpired, acquisitionTerminated, acquisitionByMultipleMergers, acquisitionRepealedByCourt, mergerExpired, mergerRepealedByCourt, other reorganizationOfBusinessCommenced, bankruptcyTerminatedWithSurplus, dissolvedByCompanyDemerger, liquidationTerminated, mergerProcedureCommenced, acquisitionByCompanyDemerger, acquisitionByMerger, dissolvedByMergerProcedure, liquidationDecided, bankruptcyProceedingsCommenced, bankruptcyProceedingsTerminated, mergerPermitted, unused1, unused2, unused3, liquidationContinues, struckOffRegisterCrossBorderMerger, bankruptcyRepealedByCourt, liquidationEnds, liquidationRepealedByCourt, companyStruckOff, reorganizationOfBusinessEnded, reorganizationOfBusinessRepealedByCourt, resolutionCommenced, resolutionTerminated, resolutionRepealedByCourt, companyStruckOffTradeRegisterAct, deregisteredNewHolder, deregistered, reintroduced, companyStruckOffOwnRequest, companyStruckOffByRegistrationOffice, companyStruckOffReenteredAsJointStock, branchStruckOffForeignLiquidationOrBankruptcy, branchStruckOffOperationsCeased, branchStruckOffMissingCEO, branchStruckOffCourtOrder, branchStruckOffAnnualReportMissing, isActive, isNoLongerActive, hasNeverBeenActive, taxAuthorityStatus, companyDemergerCommenced, settlementNegotiationsCommenced, settlementNegotiationsTerminated, settlementNegotiationsRepealedByCourt, acquisitionExpired, acquisitionTerminated, acquisitionByMultipleMergers, acquisitionRepealedByCourt, mergerExpired, mergerRepealedByCourt, other