Husvo

API-referens

Journalen

Det som gjorts i huset, med kostnad, kvitto och värdehöjande förbättringar.

Journalen, senast först. Filtrera med kind och year, bläddra med cursor

GET /api/v1/houses/{houseId}/log

operationId listLog

  • Bearer-token
  • Kräver läsrätt i huset

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
kind frågesträngen string nej
year frågesträngen integer nej
cursor frågesträngen string nej
limit frågesträngen integer nej

Exempel

curl -X GET "https://husvo.app/api/v1/houses/1/log" \
  -H "Authorization: Bearer $TOKEN"

Svar

200 Klart · LogListResponse
{
  "items": [
    {
      "id": 1,
      "date": "2026-11-13",
      "what": "text",
      "component": "text",
      "kind": "text",
      "costKr": 1,
      "isImprovement": false,
      "contractor": "text",
      "phone": "text",
      "warrantyUntil": "2026-11-13",
      "buildingPart": "text",
      "authorName": "text",
      "hasReceipt": false,
      "receiptPhotoId": 1,
      "craftsmanId": 1,
      "craftsmanName": "text"
    }
  ],
  "nextCursor": "text"
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig
  • 422Kontrollera uppgifterna

Skriv en loggpost

POST /api/v1/houses/{houseId}/log

operationId addLogEntry

  • Bearer-token
  • Kräver redigeringsrätt i huset
  • Skrivtaket gäller
  • Tar Idempotency-Key

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Kropp application/json · AddLogBody

FältTypKrävs
date datum nej
what string nej
component string nej
kind string nej
costKr integer nej
isImprovement boolean ja
contractor string nej
phone string nej
warrantyUntil datum nej
buildingPart string nej
craftsmanId integer nej
{
  "date": "2026-11-13",
  "what": "text",
  "component": "text",
  "kind": "text",
  "costKr": 1,
  "isImprovement": false,
  "contractor": "text",
  "phone": "text",
  "warrantyUntil": "2026-11-13",
  "buildingPart": "text",
  "craftsmanId": 1
}

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/log" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"date":"2026-11-13","what":"text","component":"text","kind":"text","costKr":1,"isImprovement":false,"contractor":"text","phone":"text","warrantyUntil":"2026-11-13","buildingPart":"text","craftsmanId":1}'

Svar

201 Skapad · LogEntryDto
{
  "id": 1,
  "date": "2026-11-13",
  "what": "text",
  "component": "text",
  "kind": "text",
  "costKr": 1,
  "isImprovement": false,
  "contractor": "text",
  "phone": "text",
  "warrantyUntil": "2026-11-13",
  "buildingPart": "text",
  "authorName": "text",
  "hasReceipt": false,
  "receiptPhotoId": 1,
  "craftsmanId": 1,
  "craftsmanName": "text"
}

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 404Finns inte, eller inte för dig
  • 422Kontrollera uppgifterna

Ändra kostnad, förbättringsmarkering, byggdel eller hantverkare

PATCH /api/v1/houses/{houseId}/log/{logId}

operationId updateLogEntry

  • Bearer-token
  • Kräver redigeringsrätt i huset
  • Skrivtaket gäller

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
logId adressen integer ja

Kropp application/json · PatchLogBody

FältTypKrävs
costKr integer nej
clearCost boolean nej
isImprovement boolean nej
buildingPart string nej
craftsmanId integer nej
clearCraftsman boolean nej
{
  "costKr": 1,
  "clearCost": false,
  "isImprovement": false,
  "buildingPart": "text",
  "craftsmanId": 1,
  "clearCraftsman": false
}

Exempel

curl -X PATCH "https://husvo.app/api/v1/houses/1/log/1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"costKr":1,"clearCost":false,"isImprovement":false,"buildingPart":"text","craftsmanId":1,"clearCraftsman":false}'

Svar

200 Klart · LogEntryDto
{
  "id": 1,
  "date": "2026-11-13",
  "what": "text",
  "component": "text",
  "kind": "text",
  "costKr": 1,
  "isImprovement": false,
  "contractor": "text",
  "phone": "text",
  "warrantyUntil": "2026-11-13",
  "buildingPart": "text",
  "authorName": "text",
  "hasReceipt": false,
  "receiptPhotoId": 1,
  "craftsmanId": 1,
  "craftsmanName": "text"
}

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 404Finns inte, eller inte för dig
  • 422Kontrollera uppgifterna

Värdehöjande förbättringar: summa, per år och vilka kvitton som saknas

GET /api/v1/houses/{houseId}/improvements

operationId getImprovements

  • Bearer-token
  • Kräver läsrätt i huset

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Exempel

curl -X GET "https://husvo.app/api/v1/houses/1/improvements" \
  -H "Authorization: Bearer $TOKEN"

Svar

200 Klart · ImprovementsResponse
{
  "totalKr": 1,
  "count": 1,
  "missingReceipt": 1,
  "missingCost": 1,
  "perYear": [
    {
      "year": 2026,
      "totalKr": 1,
      "count": 1
    }
  ],
  "items": [
    {
      "id": 1,
      "date": "2026-11-13",
      "what": "text",
      "component": "text",
      "kind": "text",
      "costKr": 1,
      "isImprovement": false,
      "contractor": "text",
      "phone": "text",
      "warrantyUntil": "2026-11-13",
      "buildingPart": "text",
      "authorName": "text",
      "hasReceipt": false,
      "receiptPhotoId": 1,
      "craftsmanId": 1,
      "craftsmanName": "text"
    }
  ],
  "disclaimer": "text"
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig
Sidan hakade upp sig.Ladda om🗙