Utvecklare
Er data i era egna verktyg
Hämta fastigheter, hyresavtal, fynd, fakturor och lagkrav till Power BI, egna AI-tjänster eller andra system – och låt Microsoft Entra ID sköta era användare i Leasefold.
Kom igång
- Organisationens ägare eller administratör skapar en klient under Inställningar → API och provisionering och väljer behörigheter och giltighetstid (högst 24 månader).
- Hemligheten visas en gång. Leasefold sparar bara en kontrollsumma.
- Hämta en åtkomsttoken (OAuth 2.0 client credentials, giltig 60 minuter) eller använd API-nyckeln direkt i verktyg utan OAuth.
Beskrivning i OpenAPI 3.1: https://leasefold.se/api/v1/openapi.json
Autentisering
POST https://leasefold.se/api/v1/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=lf_…&client_secret=lfs_…&scope=read:portfolio
{ "access_token": "lfa_…", "token_type": "Bearer", "expires_in": 3600, "scope": "read:portfolio" }Anrop: Authorization: Bearer lfa_… – eller med API-nyckeln: Authorization: Bearer lfk_…. All trafik över TLS 1.2 eller senare. Högst 600 anrop per minut och klient; därefter svarar API:t 429.
Behörigheter
- read:portfolio – Fastigheter, lokaler, hyresgäster och hyresavtal
- read:findings – Fynd och åtgärdsförslag
- read:invoices – Leverantörsfakturor
- read:compliance – Lagkrav och besiktningar
API:t är bara läsande. En klient ser bara den egna organisationens data, och bara fälten nedan – aldrig dokumenttext, filer eller kontaktpersoners e-post. Klienter kan återkallas direkt; återkallade token slutar gälla omedelbart. Skapande, användning och återkallande loggas i organisationens historik.
Resurser
Alla listor: GET /api/v1/<resurs>?limit=1–1000&offset=…&since=ISO-tid (standard 100). Svaret är { "data": [...], "next": "…" | null }. En rad: GET /api/v1/<resurs>/<id>.
/properties – Fastigheter
Organisationens fastigheter. Behörighet read:portfolio. Filter: city.
id, name, designation, address, postal_code, city, municipality, country, built_year, created_at
/premises – Lokaler
Lokaler i fastigheterna. Behörighet read:portfolio. Filter: property_id, use.
id, property_id, building_id, name, use, area_sqm, floor, created_at
/tenants – Hyresgäster
Hyresgäster (företag). Kontaktpersoners e-post ingår inte. Behörighet read:portfolio.
id, name, org_number, created_at
/leases – Hyresavtal
Hyresavtal med villkor som Leasefold läst eller som lagts in. Behörighet read:portfolio. Filter: premise_id, tenant_id, status.
id, premise_id, tenant_id, reference, status, start_date, end_date, notice_months, extension_months, base_rent_annual, current_rent_annual, currency, index_clause, vat_registered, created_at
/findings – Fynd
AI-medarbetarnas fynd: motsägelser, frister, vidarefakturering, lagkrav m.m. Behörighet read:findings. Filter: property_id, lease_id, kind, severity, status.
id, property_id, lease_id, kind, severity, title, detail, suggestion, amount, currency, due_date, source_ref, status, decided_at, created_at, updated_at
/invoices – Leverantörsfakturor
Inlästa leverantörsfakturor. Behörighet read:invoices. Filter: property_id, lease_id, rebill_status.
id, property_id, lease_id, supplier_name, invoice_no, invoice_date, amount_excl_vat, currency, description, rebill_status, created_at
/compliance – Lagkrav och besiktningar
Lagkrav per fastighet med senaste och nästa kontroll. Behörighet read:compliance. Filter: property_id, rule_code, status.
id, property_id, building_id, rule_code, last_done, next_due, responsible, status, created_at
Versioner
v1 ändras bara bakåtkompatibelt (nya fält kan tillkomma). En ändrad eller borttagen resurs får en ny version, och v1 finns kvar oförändrad i minst sex månader efter att den nya versionen publicerats.
Power BI
Hämta data → Tom fråga → Avancerad redigerare. Klistra in och ersätt nyckeln (lägg nyckeln som parameter, inte i rapporten som delas):
let
Key = "lfk_…",
Page = (offset as number) => Json.Document(Web.Contents("https://leasefold.se/api/v1/", [
RelativePath = "leases",
Query = [limit = "1000", offset = Text.From(offset)],
Headers = [Authorization = "Bearer " & Key]])),
Pages = List.Generate(() => [o = 0, p = Page(0)], each List.Count([p][data]) > 0,
each [o = [o] + 1000, p = Page([o] + 1000)], each [p][data]),
Table = Table.FromRecords(List.Combine(Pages))
in
TableFast bas-URL med RelativePath och Query gör att rapporten kan uppdateras schemalagt i Power BI-tjänsten. Byt leases mot den resurs ni vill hämta.
Användare från Microsoft Entra ID (SCIM 2.0)
- Verifiera er domän i Leasefold (Inställningar → Säkerhet och inloggning). Bara adresser på verifierade domäner kan provisioneras.
- Skapa en klient av typen Provisionering. Ni får en hemlig token.
- I Entra: Enterprise applications → er Leasefold-app → Provisioning → Automatic. Tenant URL https://leasefold.se/scim/v2, Secret Token = token från steg 2. Testa anslutningen och starta.
- Tilldela grupper till appen i Entra. När grupperna har kommit in kopplar ni varje grupp till en roll i Leasefold (förvaltare, tekniker, ekonomi, brandskyddsansvarig, revisor eller administratör).
En användare får rollerna för sina grupper. Avaktiveras eller tas hen bort i Entra förlorar hen rollerna och alla inloggningar avslutas direkt. Ägarrollen, hyresgäster och leverantörer hanteras aldrig via Entra. Stöd: Users och Groups (skapa, läsa, ändra med PATCH/PUT, ta bort), filter userName eq, externalId eq, displayName eq.