openapi: 3.0.3 info: title: Kobo Bolig API version: ${project.version} description: Backend API for boliger og leieforhold i Kobo servers: - url: https://api.demo.husbanken.no/kobo/boligapi/v1 description: Kobolab testmiljø - url: https://api.husbanken.no/kobo/boligapi/v1 description: Prod miljø paths: /status: get: tags: - bolig summary: Henter ut status fra integrasjonen. operationId: getStatus responses: '200': $ref: "#/components/responses/Status200Ok" /kobobolig: get: tags: - bolig summary: Henter alle boliger i Kobo som er tilknyttet behandlingsansvarlig (kommune) operationId: hentBoliger responses: "200": description: Liste over boliger content: application/json: schema: type: array items: $ref: "#/components/schemas/KoboboligSammendragTO" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" post: tags: - bolig summary: >- Oppretter en bolig i Kobo eller returnerer eksisterende bolig hvis boligen allerede finnes description: >- Hvis boligen ikke finnes i kobo fra før vil en ny bolig bli opprettet. Returnerer den nye boligen med statuskode 201 og x-kobo-opprettet = true. Hvis boligen allerede finnes i Kobo blir ingen endringer gjort i eksisterende data. Returnerer den eksisterende boligen med statuskode 200 og x-kobo-opprettet = false. operationId: opprettBolig requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/KoboboligTilKoboTO" responses: "200": $ref: "#/components/responses/BoligOpprettBoligResponse" "201": $ref: "#/components/responses/BoligOpprettBoligResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "409": $ref: "#/components/responses/Bolig409Response" "422": $ref: "#/components/responses/Bolig422Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}: description: | Hent og Oppdater operasjon for bolig. parameters: - in: path name: koboBoligId description: Kobos Id for boligen. Mottas ved retur når FDVU leverandøren oppretter sin bolig i Kobo. required: true schema: type: string format: uuid get: tags: - bolig summary: Henter en bolig fra Kobo operationId: hentBolig responses: "200": $ref: "#/components/responses/Bolig20xResponse" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "409": $ref: "#/components/responses/Bolig409Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" put: tags: - bolig summary: Erstatter en bolig i Kobo description: >- Erstatter boligens egne attributter fullstendig med det som sendes inn i forespørselen. Felter på boligen som ikke er med i forespørselen blir tømt/nullstilt. Leieforhold, tildeling og reservasjoner er unntatt fra denne full-erstatningen, og behandles særegent for både PUT og PATCH. Se beskrivelsen av hvert felt for detaljer om hva som skjer når de er med eller ikke i forespørselen. operationId: oppdaterBolig requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/KoboboligTilKoboTO" responses: "200": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "409": $ref: "#/components/responses/Bolig409Response" "422": $ref: "#/components/responses/Bolig422Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" patch: tags: - bolig summary: Oppdaterer enkeltfelter på en bolig i Kobo description: >- Delvis oppdatering av boligen. Kun feltene som er med i forespørselen blir endret, resten av boligens eksisterende attributter beholdes uendret. Leieforhold, tildeling og reservasjoner behandles særegent for PUT og PATCH. Se beskrivelsen av hvert felt for detaljer om hva som skjer når de er med eller ikke i forespørselen. operationId: delvisOppdaterBolig requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/KoboboligTilKoboTO" responses: "200": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "409": $ref: "#/components/responses/Bolig409Response" "422": $ref: "#/components/responses/Bolig422Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" delete: tags: - bolig summary: soft delete av bolig i Kobo operationId: slettBolig responses: 204: headers: x-kobo-behandlet: schema: type: boolean description: true hvis boligen ble slettet description: Bolig ble slettet 401: $ref: "#/components/responses/Bolig401Response" 403: $ref: "#/components/responses/Bolig403Response" 404: $ref: "#/components/responses/Bolig404Response" 409: $ref: "#/components/responses/Bolig409Response" 500: $ref: "#/components/responses/Bolig500Response" /kobobolig/{koboBoligId}/eier: parameters: - $ref: "#/components/parameters/koboBoligIdParam" delete: tags: - bolig summary: Fjerner eier fra en bolig i Kobo operationId: fjernEier responses: "200": $ref: "#/components/responses/Bolig20xResponse" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/samvirke: parameters: - $ref: "#/components/parameters/koboBoligIdParam" delete: tags: - bolig summary: Fjerner boligsamvirke fra en bolig i Kobo operationId: fjernSamvirke responses: "200": $ref: "#/components/responses/Bolig20xResponse" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/tildeling: parameters: - $ref: "#/components/parameters/koboBoligIdParam" post: tags: - bolig summary: Tildele en bolig i Kobo operationId: tildelBolig requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BoligtildelingTO" responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "409": $ref: "#/components/responses/Bolig409Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" delete: tags: - bolig summary: Fjerner tildeling fra en bolig i Kobo operationId: fjernTildeling requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BoligtildelingTO" responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/sak/{saksreferanse}/reservasjon: parameters: - $ref: "#/components/parameters/koboBoligIdParam" - $ref: "#/components/parameters/saksreferanseParam" put: tags: - bolig summary: >- Reserverer bolig til en sak med dagens dato som reservert dato. Bruk heller POST /kobobolig/{koboBoligId}/reservasjon med saksreferanse i payload operationId: reserverBolig deprecated: true responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" delete: tags: - bolig summary: Fjerne reservasjon av bolig til en sak operationId: fjernReservasjon responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/reservasjon: parameters: - $ref: "#/components/parameters/koboBoligIdParam" post: tags: - bolig summary: >- Oppretter en reservasjon av en bolig for en sak. Hvis saksreferanse ikke er oppgitt i forespørselen vil Kobo opprette en ny sak basert på husstand-feltet. operationId: opprettReservasjon requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BoligreservasjonTO" responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/leieforhold: parameters: - $ref: "#/components/parameters/koboBoligIdParam" post: tags: - bolig summary: Oppretter et leieforhold i Kobo operationId: opprettLeieforhold requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/OpprettLeieforholdTO" responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "409": $ref: "#/components/responses/Bolig409Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" put: tags: - bolig summary: Oppdaterer et leieforhold i Kobo operationId: oppdaterEksisterendeLeieforhold requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/LeieforholdOpprettOppdaterTO" responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" delete: tags: - bolig summary: Avslutter et leieforhold i Kobo operationId: avsluttLeieforhold requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/LeieforholdAvsluttTO" responses: "200": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/leieforhold/oppsigelse: parameters: - $ref: "#/components/parameters/koboBoligIdParam" post: tags: - bolig summary: Registrerer en oppsigelse for et leieforhold i Kobo operationId: registrerOppsigelseLeieforhold requestBody: required: true content: multipart/form-data: schema: type: object properties: leieforholdOppsigelse: $ref: "#/components/schemas/LeieforholdOppsigelseTO" required: - leieforholdOppsigelse encoding: leieforholdOppsigelse: contentType: application/json responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" put: tags: - bolig summary: Endre en eksisterende oppsigelse for et leieforhold i Kobo operationId: endreOppsigelseLeieforhold requestBody: required: true content: multipart/form-data: schema: type: object properties: leieforholdOppsigelse: $ref: "#/components/schemas/LeieforholdOppsigelseTO" required: - leieforholdOppsigelse encoding: leieforholdOppsigelse: contentType: application/json responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" delete: tags: - bolig summary: Opphev en eksisterende oppsigelse for et leieforhold i Kobo operationId: opphevOppsigelseLeieforhold responses: "200": $ref: "#/components/responses/Bolig20xResponse" "201": $ref: "#/components/responses/Bolig20xResponse" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/bilde: parameters: - $ref: "#/components/parameters/koboBoligIdParam" post: tags: - bolig summary: Laster opp et nytt bilde av boligen operationId: lastOppBoligbilde requestBody: required: true content: multipart/form-data: schema: type: object properties: alternativTekst: type: string description: Alternativ tekst (bildebeskrivelse) for bildet, for eksempel til bruk med skjermlesere. example: Stue med utsikt bildefil: type: string format: binary description: Selve bildefilen. Filnavnet på boligbildet hentes fra denne filens eget filnavn. required: - bildefil responses: "200": $ref: "#/components/responses/BoligbildeListeResponse" "400": $ref: "#/components/responses/Bolig400Response" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" get: tags: - bolig summary: Henter alle bilder knyttet til boligen operationId: hentBoligbilder responses: "200": $ref: "#/components/responses/BoligbildeListeResponse" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/bilde/{bildeId}: parameters: - $ref: "#/components/parameters/koboBoligIdParam" - $ref: "#/components/parameters/bildeIdParam" get: tags: - bolig summary: Henter selve bildefilen operationId: hentBoligbildefil responses: "200": $ref: "#/components/responses/BoligbildefilResponse" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" delete: tags: - bolig summary: Sletter et bilde fra boligen operationId: slettBoligbilde responses: "200": $ref: "#/components/responses/BoligbildeListeResponse" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kobobolig/{koboBoligId}/bilde/{bildeId}/hovedbilde: parameters: - $ref: "#/components/parameters/koboBoligIdParam" - $ref: "#/components/parameters/bildeIdParam" put: tags: - bolig summary: Setter et bilde som hovedbilde for boligen description: >- Setter det angitte bildet som boligens hovedbilde. operationId: settSomHovedbilde responses: "200": $ref: "#/components/responses/BoligbildeListeResponse" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kontaktenhet: get: tags: - kontaktenhet summary: Henter alle kontaktenheter tilknyttet behandlingsansvarlig operationId: hentKontaktenheter responses: "200": description: Liste over kontaktenheter content: application/json: schema: type: array items: $ref: "#/components/schemas/KontaktenhetTO" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" post: tags: - kontaktenhet summary: Oppretter en kontaktenhet eller returnerer eksisterende ved duplikat operationId: opprettKontaktenhet requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/KontaktenhetOpprettTO" responses: "200": $ref: "#/components/responses/Kontaktenhet20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" /kontaktenhet/{kontaktenhetId}: parameters: - $ref: "#/components/parameters/kontaktenhetIdParam" get: tags: - kontaktenhet summary: Henter en kontaktenhet operationId: hentKontaktenhet responses: "200": $ref: "#/components/responses/Kontaktenhet20xResponse" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" put: tags: - kontaktenhet summary: Oppdaterer en kontaktenhet og dens kontaktpersoner operationId: oppdaterKontaktenhet requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/KontaktenhetTO" responses: "200": $ref: "#/components/responses/Kontaktenhet20xResponse" "400": $ref: "#/components/responses/Bolig400Response" "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" "502": $ref: "#/components/responses/Bolig502Response" "503": $ref: "#/components/responses/Bolig503Response" delete: tags: - kontaktenhet summary: Sletter en kontaktenhet operationId: slettKontaktenhet responses: "204": description: Kontaktenhet ble slettet "401": $ref: "#/components/responses/Bolig401Response" "403": $ref: "#/components/responses/Bolig403Response" "404": $ref: "#/components/responses/Bolig404Response" "500": $ref: "#/components/responses/Bolig500Response" /fdvusystem: post: tags: - bolig summary: Registrerer eller oppdaterer integrasjonsoppsett for FDVU-system. Merk at ved registrering av endepunkt mot url med et domene som ikke har blitt brukt tidligere, så må det sendes en forespørsel til brukerservice@husbanken.no om å bruke det aktuelle domenet slik at vi kan åpne for utgående trafikk. Endepunkt med nye path params kan ellers oppdateres fritt. operationId: registrerLeverandorsystem requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/LeverandorsystemRegistreringRequestTO" responses: "201": description: Leverandøroppsett er registrert. "400": description: Bad request - Krav til utfylling av felter er ikke overholdt. "401": description: Unauthorized - Maskinporten token er ikke godkjent. get: tags: - bolig operationId: hentFdvusystemInfo responses: "200": description: | Oppsettet av kommunens FDVU leverandør i Kobo. Kan benyttes av FDVU leverandør til å se Kobos forventinger til hemmelig, endepunkt og om de er aktiverte i Kobo. content: application/json: schema: $ref: "#/components/schemas/LeverandorsystemTO" "401": description: Unauthorized - Maskinporten token er ikke godkjent. "404": description: Not Found - Oppsett for FDVU System mangler i Kobo. components: responses: Status200Ok: description: Statusen for tjenesten content: application/json: schema: $ref: "#/components/schemas/StatusTO" Bolig20xResponse: description: En bolig content: application/json: schema: $ref: "#/components/schemas/KoboboligFraKoboTO" BoligOpprettBoligResponse: description: >- En bolig. Enten ny (status 201) eller eksisterende (status 200) Se også header x-kobo-opprettet. headers: x-kobo-opprettet: schema: type: boolean description: >- true hvis en ny bolig ble opprettet av denne forespørselen, false hvis en eksisterende bolig ble funnet og returnert uendret content: application/json: schema: $ref: "#/components/schemas/KoboboligFraKoboTO" Kontaktenhet20xResponse: description: En kontaktenhet content: application/json: schema: $ref: "#/components/schemas/KontaktenhetTO" BoligbildeListeResponse: description: Liste over bilder knyttet til boligen content: application/json: schema: type: array items: $ref: "#/components/schemas/BoligbildeTO" BoligbildefilResponse: description: Selve bildefilen content: image/*: schema: type: string format: binary Bolig401Response: description: Utilstrekkelige rettigheter for tilgang til boligen content: application/json: schema: $ref: "#/components/schemas/OffentligFeilTO" Bolig404Response: description: Boligen ble ikke funnet content: application/json: schema: $ref: "#/components/schemas/OffentligFeilTO" Bolig502Response: description: Det er feil i bakenforliggende systemer content: application/json: schema: $ref: "#/components/schemas/OffentligFeilTO" Bolig503Response: description: Tjenesten er ikke tilgjengelig for øyeblikket Bolig400Response: description: Ugyldig forespørsel - en eller flere verdier er ikke gyldige, eller referert sak ble ikke funnet content: application/json: schema: $ref: "#/components/schemas/OffentligFeilTO" Bolig403Response: description: Ingen tilgang til denne boligen content: application/json: schema: $ref: "#/components/schemas/OffentligFeilTO" Bolig409Response: description: Konflikt - ressursen eksisterer allerede eller adressen ga flere treff content: application/json: schema: $ref: "#/components/schemas/OffentligFeilTO" Bolig422Response: description: Forespørselen kunne ikke behandles - adressen ga ingen treff i matrikkelen content: application/json: schema: $ref: "#/components/schemas/OffentligFeilTO" Bolig500Response: description: Intern feil i Kobo content: application/json: schema: $ref: "#/components/schemas/OffentligFeilTO" parameters: behandlingsansvarligParam: in: path name: behandlingsansvarlig required: true schema: $ref: "#/components/schemas/Organisasjonsnummertype" leverandoerParam: in: path name: leverandor required: true schema: $ref: "#/components/schemas/Organisasjonsnummertype" koboBoligIdParam: in: path name: koboBoligId description: Kobos Id for boligen. Mottas ved retur når FDVU leverandøren oppretter sin bolig i Kobo. required: true schema: type: string format: uuid bildeIdParam: in: path name: bildeId description: Kobos Id for bildet. Mottas ved retur når FDVU leverandøren laster opp et bilde av boligen. required: true schema: type: string format: uuid saksreferanseParam: in: path name: saksreferanse description: Saksreferanse for en sak i Kobo fagsystem. required: true schema: type: string kontaktenhetIdParam: in: path name: kontaktenhetId description: Id for kontaktenheten. required: true schema: type: string format: uuid schemas: AdresseTO: required: - gatenavn - husnummer - postnummer properties: postnummer: type: string pattern: '^\d{4}$' poststed: type: string gatenavn: type: string husnummer: type: integer format: int32 husbokstav: type: string minLength: 1 maxLength: 1 BeboerTO: required: - personidentifikator - fodselsdato properties: koboId: type: string format: uuid adresse: $ref: '#/components/schemas/AdresseTO' personidentifikator: type: string format: ^[/d]{11}$ fodselsdato: type: string format: date fornavn: type: string mellomnavn: type: string etternavn: type: string epost: type: string format: email description: Hentet fra Kontaktregisteret telefonnummer: type: string pattern: '^\+?\d+$' description: Hentet fra Kontaktregisteret manueltRegistrertEpost: type: string format: email description: Manuelt registrert i Kobo manueltRegistrertTelefonnummer: type: string pattern: '^\+?\d+$' description: Manuelt registrert i Kobo reservertMotDigitalKommunikasjon: type: boolean Oppsigelsestid: type: string description: liste over mulige oppsigelsestidslengder knyttet til oppsigelse av leieforhold enum: - MND1 - MND3 - ANNET Organisasjonsnummertype: type: string pattern: '^\d{9}$' Boligegenskap: type: string enum: - BOD_INKLUDERT - OPPLEGG_FOR_TV - OPPLEGG_FOR_INTERNETT - VELFERDSTEKNOLOGI - UTENDORS_STROMUTTAK - HUSDYR_IKKE_TILLATT - INTEGRERTE_HVITEVARER BoligendringHint: type: string enum: - BOLIG_OPPRETTET - BOLIG_ENDRING - STATUS_ENDRING BoligoppsigelseAktor: type: string enum: - LEIETAKER - UTLEIER BoligreservasjonTO: type: object description: >- Representerer en reservasjon av boligen for en sak. Kombinasjonen av sak og bolig i Kobo må være unik, hvis det finnes en reservasjon for boligen i saken fra før, vil Kobo returnere den eksisterende reservasjonen. properties: reservertDato: description: Tidspunktet boligreservasjonen ble opprettet i Kobo, blir satt av Kobo ved opprettelse av boligreservasjon readOnly: true type: string format: date-time koboSaksreferanse: description: >- Referanse til saken boligen er reservert til. Hvis referanse er utfylt kan man sende inn flere boligreservasjoner og "bulk" reservere boligen på flere eksisterende saker i Kobo. Hvis sakene ikke finnes i Kobo vil man få 404 på hele forespørselen fra Kobo. Hvis man sender inn kun en boligreservasjon kan dette feltet for saksreferanse være blankt. Da antar Kobo at man ønsker å opprette en ny sak for den første personen i husstand.beboere feltet på denne aktuelle forespørselen. Hvis den personen ikke har noen saker fra før, så vil Kobo opprette en sak for personen med etterfølgende beboere som medsøkere og reservere denne boligen på den nyopprettede saken. type: string husstand: $ref: '#/components/schemas/HusstandTO' BoligtildelingTO: type: object description: >- Representerer en tildeling av en bolig i en sak. Det kan kun tildeles én bolig per sak i Kobo, og en bolig kan kun tildeles til én sak. properties: tildeltDato: description: Tidspunktet tildelingen ble opprettet i Kobo, blir satt av Kobo ved opprettelse av tildelingen readOnly: true type: string format: date-time koboSaksreferanse: description: >- Referanse til saken boligen er tildelt/skal tildeles til. type: string husstand: $ref: '#/components/schemas/HusstandTO' BoligbildeTO: type: object description: Et bilde av boligen. required: - filnavn properties: guid: readOnly: true type: string format: uuid description: Kobos Id for bildet. Settes av Kobo, kan ikke sendes inn. alternativTekst: type: string description: Alternativ tekst (bildebeskrivelse) for bildet, for eksempel til bruk med skjermlesere. erHovedbilde: readOnly: true type: boolean description: >- true hvis dette er boligens hovedbilde. Settes av Kobo og kan ikke sendes inn her, se PUT /kobobolig/{koboBoligId}/bilde/{bildeId}/hovedbilde. filnavn: type: string description: Filnavn på bildet, inkludert filtype (f.eks. "stue.png"). bildeUrl: readOnly: true type: string format: url description: URL for å hente selve bildefilen, se GET /kobobolig/{koboBoligId}/bilde/{bildeId} Boligsikkerhet: type: string enum: - SPRINKLERANLEGG - VANNTAAKEANLEGG - DIREKTEKOBLING_TIL_BRANNVESEN - KOMFYRVAKT - INNBRUDDSALARM Boligtilrettelegging: type: string description: Typer tilrettelegging som en bolig kan ha eller som en søker kan ha behov for enum: - TRINNFRI_ADKOMST - ALT_PA_ETT_PLAN - LAVE_TERSKLER - BREDE_DORER - SNUAREAL_FOR_RULLESTOL - HANDTAK_PA_BADET - TRINNFRI_DUSJSONE - RAMPE - HEIS_I_BYGNINGEN - HEV_OG_SENKINNREDNING - ANNEN_TILRETTELEGGING Boligstatus: type: string enum: - KLAR_FOR_INNFLYTTING - VEDLIKEHOLD - UTLEID - IKKE_TILGJENGELIG Boligtype: type: string enum: - ORDINAR_BOLIG - TILRETTELAGT_BOLIG - TJENESTEBOLIG - ANNET_UTLEIEOBJEKT Boform: type: string enum: - FORSTERKET_BOLIG - BOFELLESSKAP Oppfolging: type: string enum: - BOMILJOTJENESTER - PERSONALBASE - DOGNBEMANNING Bygningstype: type: string enum: - ENEBOLIG - SOKKELLEILIGHET - TOMANNSBOLIG_VERTIKALDELT - TOMANNSBOLIG_HORISONTALDELT - REKKEHUS - LEILIGHET - UKJENT BygningTO: required: - bygningsnummer - lopenummer properties: koboId: type: string format: uuid matrikkelId: type: integer format: int64 bygningsnummer: type: integer format: int64 bygningstype: $ref: '#/components/schemas/Bygningstype' matrikkelBygningsstatus: $ref: '#/components/schemas/MatrikkelBygningsstatus' lopenummer: type: integer format: int32 antallEtasjer: type: integer format: int32 minimum: 0 EiendomTO: type: object allOf: - $ref: "#/components/schemas/MatrikkelenhetTO" EieseksjonTO: type: object allOf: - $ref: "#/components/schemas/MatrikkelenhetTO" KontaktenhetTO: type: object properties: guid: type: string format: uuid kontaktenhetstype: $ref: "#/components/schemas/Kontaktenhetstype" kontaktenhetOrganisasjonsnummer: $ref: "#/components/schemas/Organisasjonsnummertype" kontaktenhetNavn: type: string privatMobilnummer: type: string kontaktpersoner: type: array items: $ref: "#/components/schemas/KontaktpersonTO" KontaktenhetOpprettTO: type: object properties: kontaktenhetstype: $ref: "#/components/schemas/Kontaktenhetstype" kontaktenhetOrganisasjonsnummer: $ref: "#/components/schemas/Organisasjonsnummertype" kontaktenhetNavn: type: string privatMobilnummer: type: string kontaktpersoner: type: array items: $ref: "#/components/schemas/KontaktpersonTO" KontaktpersonTO: type: object required: - navn - rolle properties: guid: type: string format: uuid navn: type: string telefonnummer: type: string epost: type: string rolle: type: string Kontaktenhetstype: type: string enum: - PRIVATPERSON - SAMEIE - BORETTSLAG - BOLIGAKSJESELSKAP - PRIVAT_FORETAK - KOMMUNALT_FORETAK - STIFTELSE Eieform: type: string enum: - SELVEIER - BORETTSLAG - AKSJELEILIGHET LeverandorsystemTO: type: object required: - behandlingsansvarlig - leverandor - endepunkt - erAktivert properties: behandlingsansvarlig: $ref: "#/components/schemas/Organisasjonsnummertype" leverandor: $ref: "#/components/schemas/Organisasjonsnummertype" apiKey: type: string endepunkt: type: string format: url erAktivert: type: boolean Disposisjonsform: type: string enum: - KOMMUNALT_EID - INNLEID_FRA_KOMMUNALT_FORETAK - INNLEID_FRA_STIFTELSE - INNLEID_FRA_PRIVAT_FORETAK - INNLEID_FRA_PRIVATPERSON - TILDELINGSAVTALE - TILVISNINGSAVTALE OffentligFeilkode: type: string description: | Feilkoder returnert fra Kobos offentlige API ved feil i forespørselen | Kode | Beskrivelse | |------|-------------| | `HB_VALIDERING` | En eller flere parametre er ikke gyldige i henhold til API-kontrakten | | `KOBO_IKKEUNIKTBOLIGTREFF` | Flere boliger funnet i KOBO for denne adressen | | `KOBO_TOMTMATRIKKELTREFF` | Fant ingen boliger i matrikkelen for denne adressen | | `KOBO_IKKEUNIKTMATRIKKELTREFF` | Flere boliger funnet i matrikkelen for denne adressen | | `KOBO_IKKEUNIKEKSTRAREFERANSE` | Fant denne boligen registrert med flere ekstrareferanser | | `KOBO_IKKEGYLDIGEVERDIER` | En eller flere verdier er ikke gyldige | | `KOBO_IKKETILGANGTILBOLIG` | Ingen tilgang til denne boligen | | `KOBO_SAKIKKEFUNNET` | Fant ingen sak med denne referansen | | `KOBO_LEIEFORHOLD_EKSISTERER_ALLEREDE` | Kan ikke opprette nytt leieforhold, det eksisterer allerede et leieforhold på boligen | | `KOBO_LEIEFORHOLD_IKKE_FUNNET` | Finner ikke eksisterende leieforhold i Kobo | | `KOBO_TILDELING_EKSISTERER_ALLEREDE` | Kan ikke opprette ny tildeling, det eksisterer allerede en tildeling på boligen | | `KOBO_TILDELING_IKKE_FUNNET` | Finner ikke eksisterende tildeling i Kobo | | `KOBO_KONTAKTENHET_ER_I_BRUK` | Kontaktenhet er i bruk og kan ikke slettes | | `KOBO_BOLIG_KAN_IKKE_SLETTES` | Boligen kan ikke slettes fordi den har et aktivt leieforhold, tildeling eller reservasjon | | `KOBO_BILDE_UGYLDIG_FILTYPE` | Filen er ikke en gyldig eller gjenkjennbar bildefil | | `KOBO_BILDE_IKKE_FUNNET` | Bildet finnes ikke for denne boligen | | `KOBO_INTERN_FEIL` | En intern feil har oppstått i Kobo | | `KOBO_KUNNEIKKEOPPRETTEPERSON` | Klarte ikke å finne eller opprette person(er) | | `KOBO_IKKE_FUNNET` | Ressursen ble ikke funnet | | `KOBO_AUTORISERINGSFEIL` | Utilstrekkelige rettigheter for tilgang | | `KOBO_FEIL_I_TJENESTE` | Feil i bakenforliggende tjenester | x-enumDescriptions: HB_VALIDERING: "En eller flere parametre er ikke gyldige i henhold til API-kontrakten" KOBO_IKKEUNIKTBOLIGTREFF: "Flere boliger funnet i KOBO for denne adressen" KOBO_TOMTMATRIKKELTREFF: "Fant ingen boliger i matrikkelen for denne adressen" KOBO_IKKEUNIKTMATRIKKELTREFF: "Flere boliger funnet i matrikkelen for denne adressen" KOBO_IKKEUNIKEKSTRAREFERANSE: "Fant denne boligen registrert med flere ekstrareferanser" KOBO_IKKEGYLDIGEVERDIER: "En eller flere verdier er ikke gyldige" KOBO_IKKETILGANGTILBOLIG: "Ingen tilgang til denne boligen" KOBO_SAKIKKEFUNNET: "Fant ingen sak med denne referansen" KOBO_LEIEFORHOLD_EKSISTERER_ALLEREDE: "Kan ikke opprette nytt leieforhold, det eksisterer allerede et leieforhold på boligen" KOBO_LEIEFORHOLD_IKKE_FUNNET: "Finner ikke eksisterende leieforhold i Kobo" KOBO_TILDELING_EKSISTERER_ALLEREDE: "Kan ikke opprette ny tildeling, det eksisterer allerede en tildeling på boligen" KOBO_TILDELING_IKKE_FUNNET: "Finner ikke eksisterende tildeling i Kobo" KOBO_KONTAKTENHET_ER_I_BRUK: "Kontaktenhet er i bruk og kan ikke slettes" KOBO_BOLIG_KAN_IKKE_SLETTES: "Boligen kan ikke slettes fordi den har et aktivt leieforhold, tildeling eller reservasjon" KOBO_BILDE_UGYLDIG_FILTYPE: "Filen er ikke en gyldig eller gjenkjennbar bildefil" KOBO_BILDE_IKKE_FUNNET: "Bildet finnes ikke for denne boligen" KOBO_INTERN_FEIL: "En intern feil har oppstått i Kobo" KOBO_KUNNEIKKEOPPRETTEPERSON: "Klarte ikke å finne eller opprette person(er)" KOBO_IKKE_FUNNET: "Ressursen ble ikke funnet" KOBO_AUTORISERINGSFEIL: "Utilstrekkelige rettigheter for tilgang" KOBO_FEIL_I_TJENESTE: "Feil i bakenforliggende tjenester" enum: - HB_VALIDERING - KOBO_IKKEUNIKTBOLIGTREFF - KOBO_TOMTMATRIKKELTREFF - KOBO_IKKEUNIKTMATRIKKELTREFF - KOBO_IKKEUNIKEKSTRAREFERANSE - KOBO_IKKEGYLDIGEVERDIER - KOBO_IKKETILGANGTILBOLIG - KOBO_SAKIKKEFUNNET - KOBO_LEIEFORHOLD_EKSISTERER_ALLEREDE - KOBO_LEIEFORHOLD_IKKE_FUNNET - KOBO_TILDELING_EKSISTERER_ALLEREDE - KOBO_TILDELING_IKKE_FUNNET - KOBO_KONTAKTENHET_ER_I_BRUK - KOBO_BOLIG_KAN_IKKE_SLETTES - KOBO_BILDE_UGYLDIG_FILTYPE - KOBO_BILDE_IKKE_FUNNET - KOBO_INTERN_FEIL - KOBO_KUNNEIKKEOPPRETTEPERSON - KOBO_IKKE_FUNNET - KOBO_AUTORISERINGSFEIL - KOBO_FEIL_I_TJENESTE OffentligFeilTO: required: - kode - melding - korrelasjonsid properties: kode: $ref: "#/components/schemas/OffentligFeilkode" melding: type: string description: Lesbar feilmelding med kontekst om hva som gikk galt korrelasjonsid: type: string description: Trace-ID som kan brukes i supporthenvendelser for å spore feilen HusstandTO: type: object required: - beboere properties: beboere: type: array minItems: 1 items: $ref: "#/components/schemas/BeboerTO" antallBarn: type: integer format: int32 KoboboligTO: properties: adresse: $ref: "#/components/schemas/AdresseTO" antallSoverom: type: integer format: int32 minimum: 0 boligtype: $ref: "#/components/schemas/Boligtype" bruksareal: type: number format: double minimum: 0 bruksenhetsnummer: type: string pattern: '^([ hkluHKLU]{1}\d{4}|)$' bygning: $ref: "#/components/schemas/BygningTO" disposisjonsform: $ref: '#/components/schemas/Disposisjonsform' disposisjonsperiode: $ref: "#/components/schemas/PeriodeTO" eiendom: $ref: "#/components/schemas/EiendomTO" eieseksjon: $ref: "#/components/schemas/EieseksjonTO" eieform: $ref: '#/components/schemas/Eieform' egenskaper: type: array items: $ref: '#/components/schemas/Boligegenskap' ekstraReferanse: type: string maxLength: 50 pattern: '.*\S.*' description: Kan være null, men ikke blank erTilgjengeligForRullestolbruker: type: boolean etasjenummer: type: integer forpliktelser: type: array items: $ref: "#/components/schemas/BoligForpliktelse" husstand: deprecated: true description: Denne fjernes på sikt. Bruk leieforhold.husstand allOf: - $ref: "#/components/schemas/HusstandTO" klesvask: type: array items: $ref: "#/components/schemas/BoligKlesvask" koboId: type: string format: uuid kvalifisererMvaKompensasjon: type: boolean kvalifisererIkkeBostotte: type: boolean leieforhold: description: >- Ved oppdatering av bolig (PUT eller PATCH) behandles dette feltet likt uavhengig av verb, og er ikke en del av full-erstatningen som ellers gjelder for PUT: hvis feltet ikke er med i forespørselen skjer det ingen endring i et eventuelt eksisterende leieforhold. Hvis feltet er med og boligen ikke har noe leieforhold fra før, opprettes et nytt leieforhold (samme regler som POST /kobobolig/{koboBoligId}/leieforhold). Hvis feltet er med og boligen allerede har et leieforhold med samme saksreferanse, oppdateres det eksisterende leieforholdet (samme regler som PUT /kobobolig/{koboBoligId}/leieforhold). Hvis feltet er med og boligen allerede har et leieforhold med en annen saksreferanse, feiler forespørselen med feilkoden KOBO_LEIEFORHOLD_EKSISTERER_ALLEREDE. For å avslutte eller si opp et eksisterende leieforhold, bruk de dedikerte endepunktene under /kobobolig/{koboBoligId}/leieforhold. allOf: - $ref: "#/components/schemas/LeieforholdTO" leiekostnad: $ref: '#/components/schemas/LeiekostnadTO' leieTilEiePotensial: type: boolean malernummerStrom: type: string malernummerVann: type: string matrikkelId: type: integer format: int64 matrikkelBruksenhetstype: $ref: "#/components/schemas/MatrikkelBruksenhetstype" moblering: $ref: "#/components/schemas/BoligMoblering" omrade: $ref: "#/components/schemas/BoligomradeTO" egenvurdertRisikogruppe: $ref: '#/components/schemas/Risikogruppe' oppvarming: type: array items: $ref: "#/components/schemas/Boligoppvarming" ovrigInformasjon: type: string maxLength: 1000 parkering: type: array items: $ref: "#/components/schemas/BoligParkering" reservasjoner: type: array description: >- Holder alle reservasjoner av denne boligen for ulike saker. Kombinasjonen av sak og bolig i Kobo må være unik, hvis det finnes en reservasjon for boligen i saken fra før, vil Kobo returnere den eksisterende reservasjonen. Ved oppdatering av bolig (PUT eller PATCH) behandles dette feltet likt uavhengig av verb, og er ikke en del av full-erstatningen som ellers gjelder for PUT: hvis feltet ikke er med i forespørselen skjer det ingen endring i boligens eksisterende reservasjoner. Hvis feltet derimot er med i forespørselen vil Kobo endre tilstanden slik at det reflekterer det som sendes inn fra FDVU systemet. Hvis en boligreservasjon ikke er med i listen ved innsendelse vil Kobo fjerne boligreservasjonen i Kobo, hvis der er en Boligreservasjon i listen Kobo ikke har så vil Kobo opprette den. Se feltet BoligreservasjonTO.saksreferanse for logikk koblet mot saker i Kobo for funksjonalitet knyttet til boligreservasjoner. items: $ref: '#/components/schemas/BoligreservasjonTO' tildeling: description: >- Ved oppdatering av bolig (PUT eller PATCH) behandles dette feltet likt uavhengig av verb, og er ikke en del av full-erstatningen som ellers gjelder for PUT: hvis feltet ikke er med i forespørselen skjer det ingen endring i en eventuell eksisterende tildeling. Hvis feltet er med og boligen ikke har noen tildeling fra før, opprettes en ny tildeling (samme regler som POST /kobobolig/{koboBoligId}/tildeling). Hvis feltet er med og boligen allerede har en tildeling, feiler forespørselen med feilkoden KOBO_TILDELING_EKSISTERER_ALLEREDE. For å fjerne en eksisterende tildeling, bruk DELETE /kobobolig/{koboBoligId}/tildeling. allOf: - $ref: '#/components/schemas/BoligtildelingTO' sikkerhet: type: array items: $ref: '#/components/schemas/Boligsikkerhet' solgtDato: type: string format: date solgtTilLeietaker: type: boolean status: $ref: "#/components/schemas/Boligstatus" statusdato: type: string format: date tidligereLeieforhold: type: array readOnly: true items: $ref: "#/components/schemas/LeieforholdTO" tilfortHusbankenMidler: description: Husbanken har gitt lån og/eller tilskudd til oppføring, ombygging eller kjøp av boligen. type: boolean tilrettelegginger: type: array items: $ref: '#/components/schemas/Boligtilrettelegging' annenTilretteleggingTekst: type: string boformer: type: array items: $ref: '#/components/schemas/Boform' oppfolging: type: array items: $ref: '#/components/schemas/Oppfolging' egendefinertKategorinavn: type: string maxLength: 128 uteplass: type: array items: $ref: '#/components/schemas/BoligUteplass' utledetLedigFraDato: description: Read-only felt, utledes av Kobo. Styres via status og statusdato, samt leieforhold type: string format: date KoboboligSammendragTO: description: Et mindre sammendrag av en bolig. type: object required: - koboId - adresse - status - boligtype properties: koboId: type: string format: uuid adresse: $ref: "#/components/schemas/AdresseTO" bruksenhetsnummer: type: string pattern: '^([ hkluHKLU]{1}\d{4}|)$' ekstraReferanse: type: string bruksareal: type: number format: double minimum: 0 disposisjonsform: $ref: "#/components/schemas/Disposisjonsform" status: $ref: "#/components/schemas/Boligstatus" statusdato: type: string format: date leiekostnad: $ref: "#/components/schemas/LeiekostnadTO" antallSoverom: type: integer format: int32 minimum: 0 etasjenummer: type: integer meta: $ref: "#/components/schemas/KoboMetaTO" egendefinertKategorinavn: type: string boligtype: $ref: "#/components/schemas/Boligtype" solgtDato: type: string format: date risikovurdering: $ref: "#/components/schemas/Risikogruppe" erReservert: type: boolean tildeling: type: object properties: saksreferanse: type: string leieforhold: type: object properties: saksreferanse: type: string KoboboligTilKoboTO: allOf: - $ref: "#/components/schemas/KoboboligTO" - type: object required: - adresse - boligtype - status - leiekostnad - disposisjonsform properties: eierGuid: type: string format: uuid description: GUID for eksisterende kontaktenhet som er eier av boligen samvirkeGuid: type: string format: uuid description: GUID for eksisterende kontaktenhet som er boligsamvirke for boligen KoboboligFraKoboTO: allOf: - $ref: "#/components/schemas/KoboboligTO" - type: object required: - adresse - boligtype - bygning - eiendom - koboId - meta - status - leiekostnad - disposisjonsform properties: meta: $ref: "#/components/schemas/KoboMetaTO" eier: $ref: '#/components/schemas/KontaktenhetTO' samvirke: $ref: '#/components/schemas/KontaktenhetTO' KoboMetaTO: required: - opprettet properties: opprettet: type: string format: date-time sistEndret: type: string format: date-time LeieforholdTO: required: - erTidsubegrenset - kontraktStartdato properties: koboId: type: string format: uuid koboSaksreferanse: type: string erTidsubegrenset: type: boolean kontraktStartdato: type: string format: date kontraktUtlopsdato: type: string format: date manedsleie: type: integer format: int32 minimum: 0 depositum: type: integer format: int32 fakturareferanse: type: string meta: $ref: "#/components/schemas/KoboMetaTO" oppsagtAktor: $ref: '#/components/schemas/BoligoppsigelseAktor' oppsigelsestid: $ref: '#/components/schemas/Oppsigelsestid' oppsigelseMottattDato: type: string format: date annenOppsigelsestid: type: string oppsagtFraDato: type: string format: date planlagtUtflyttingsdato: type: string format: date utflyttetdato: type: string format: date avsluttetdato: type: string format: date avsluttLeieforholdBoligstatus: $ref: '#/components/schemas/Boligstatus' husstand: $ref: '#/components/schemas/HusstandTO' OpprettLeieforholdTO: required: - leieforhold properties: leieforhold: $ref: '#/components/schemas/LeieforholdOpprettOppdaterTO' husstand: $ref: '#/components/schemas/HusstandTO' koboSaksreferanse: type: string LeieforholdOpprettOppdaterTO: type: object required: - kontraktStartdato - erTidsubegrenset properties: kontraktStartdato: type: string format: date kontraktUtlopsdato: type: string format: date erTidsubegrenset: type: boolean manedsleie: type: integer format: int32 minimum: 0 depositum: type: integer format: int32 fakturareferanse: type: string LeieforholdOppsigelseTO: required: - oppsagtAktor - oppsigelsestid - oppsigelseMottattDato - oppsagtFraDato - planlagtUtflyttingsdato properties: oppsagtAktor: $ref: '#/components/schemas/BoligoppsigelseAktor' oppsigelsestid: $ref: '#/components/schemas/Oppsigelsestid' oppsigelseMottattDato: type: string format: date annenOppsigelsestid: type: string oppsagtFraDato: type: string format: date planlagtUtflyttingsdato: type: string format: date LeieforholdAvsluttTO: required: - utflyttetdato - boligstatus properties: utflyttetdato: type: string format: date boligstatus: $ref: "#/components/schemas/Boligstatus" BoligForpliktelse: type: string enum: - TRAPPEVASK - SNOMAKING - GRESSKLIPPING BoligomradeTO: type: object properties: skolekretsBarneskole: type: string skolekretsUngdomsskole: type: string egnetFor: type: array items: $ref: "#/components/schemas/BoligEgnetFor" gangavstandTil: type: array items: $ref: "#/components/schemas/BoligGangavstandTil" BoligEgnetFor: type: string enum: - BARNEFAMILIER - PERSONER_MED_BEVEGELSESHEMNING BoligGangavstandTil: type: string enum: - BARNESKOLE - BARNEHAGE - MATBUTIKK - KOLLEKTIVTRANSPORT - APOTEK BoligKlesvask: type: string enum: - VASKEMASKIN_INSTALLERT - VASKEMASKIN_KAN_INSTALLERES - FELLESVASKERI BoligMoblering: type: string enum: - IKKE_MOBLERT - DELVIS_MOBLERT - MOBLERT BoligParkering: type: string enum: - UTEN_ELBILLADER - MED_ELBILLADER Boligoppvarming: type: string enum: - GULVVARME - PANELOVN - VARMEPUMPE - SENTRALVARME - VEDOVN PeriodeTO: properties: fra: type: string format: date til: type: string format: date LeiekostnadTO: required: - manedsleie properties: manedsleie: type: integer format: int32 minimum: 0 inkludertILeien: type: array items: $ref: '#/components/schemas/LeienInkluderer' annetInkludertTekst: type: string stromKostnadMnd: type: integer format: int32 oppvarmingKostnadMnd: type: integer format: int32 depositum: type: integer format: int32 LeienInkluderer: type: string enum: - TV_ABONNEMENT - INTERNETTABONNEMENT - STROM - OPPVARMING - ANNET MatrikkelBruksenhetstype: description: Verdien 'UKJENT_TOM_ELLER_MASKERT' (X) fra matrikkelen brukes som maskeringsverdi når bruker ikke har rettigheter til innsyn. type: string enum: - BOLIG - IKKE_GODKJENT_BOLIG - FRITIDSBOLIG - ANNET_ENN_BOLIG - UNUMMERERT_BRUKSENHET - UKJENT_TOM_ELLER_MASKERT Matrikkelenhetstype: type: string enum: - EIESEKSJON - EIENDOM MatrikkelenhetTO: type: object discriminator: propertyName: enhetstype mapping: EiendomTO: "#/components/schemas/EiendomTO" EieseksjonTO: "#/components/schemas/EieseksjonTO" required: - enhetstype - kommunenummer - gardsnummer - bruksnummer - festenummer - seksjonsnummer properties: koboId: type: string format: uuid enhetstype: type: string pattern: "^(EiendomTO|EieseksjonTO)$" matrikkelId: type: integer format: int64 kommunenummer: type: string gardsnummer: type: integer bruksnummer: type: integer festenummer: type: integer seksjonsnummer: type: integer MatrikkelBygningsstatus: type: string enum: - RAMMETILLATELSE - IGANGSETTINGSTILLATELSE - MIDLERTIDIG_BRUKSTILLATELSE - FERDIGATTEST - BYGNING_ER_TATT_I_BRUK - MELDINGSAK_REGISTRER_TILTAK - MELDINGSAK_TILTAK_FULLFOERT - BYNING_GODKJENT_REVET_ELLER_BRENT - IKKE_PLIKTIG_REGISTRERT - BYGNING_ER_REVET_ELLER_BRENT - BYGGING_AVLYST - BYGNING_FLYTTET - BYGNINGSNUMMER_ER_UTGAATT - FRITATT_FOR_SOKNADSPLIKT Risikogruppe: type: string description: Risikogrupper knyttet til risikovurdering av bolig og kartlegging, basert på NOU 2012:4 enum: - RISIKOGRUPPE0 - RISIKOGRUPPE1 - RISIKOGRUPPE2 - RISIKOGRUPPE3 - RISIKOGRUPPE4 - RISIKOGRUPPE5 - RISIKOGRUPPE6 - RISIKOGRUPPE7 RequestType: type: string enum: - BOLIG_ENDRING - WEBHOOK_REGISTRERING StatusTO: required: - tidsstempel - statusmessage properties: tidsstempel: type: string format: date-time statusmessage: type: string BoligUteplass: type: string enum: - PRIVAT_HAGE - FELLES_HAGE - ALTAN_BALKONG_TERASSE_ELLER_VERANDA LeverandorsystemRegistreringRequestTO: type: object required: - endepunkt properties: endepunkt: type: string format: url description: URL til FDVU-systemets webhook-endepunkt som Kobo skal kalle. apiKey: type: string description: | Hemmelighet som benyttes til å verifisere at meldinger til FDVU-systemets webhook-endepunkt er sendt av Kobo. Det er FDVU-systemets ansvar å sjekke at innkommende webhookmeldinger har riktig API key.