Husvo

API-referens

Rummen

Rummen och vad ni vet om dem: mått, färger, material.

Rummen, ordnade som på webben: våning först

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

operationId listRooms

  • 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/rooms" \
  -H "Authorization: Bearer $TOKEN"

Svar

200 Klart · RoomListResponse
{
  "items": [
    {
      "id": 1,
      "name": "text",
      "floor": "text",
      "sortOrder": 1
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

Lägg till ett rum

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

operationId addRoom

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Kropp application/json · RoomBody

FältTypKrävs
name string nej
floor string nej
{
  "name": "text",
  "floor": "text"
}

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/rooms" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"text","floor":"text"}'

Svar

201 Skapad · RoomDto
{
  "id": 1,
  "name": "text",
  "floor": "text",
  "sortOrder": 1
}

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 422Kontrollera uppgifterna

Byt namn eller våning på ett rum. Det som utelämnas behålls

PATCH /api/v1/houses/{houseId}/rooms/{roomId}

operationId updateRoom

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
roomId adressen integer ja

Kropp application/json · RoomBody

FältTypKrävs
name string nej
floor string nej
{
  "name": "text",
  "floor": "text"
}

Exempel

curl -X PATCH "https://husvo.app/api/v1/houses/1/rooms/1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"text","floor":"text"}'

Svar

200 Klart · RoomDto
{
  "id": 1,
  "name": "text",
  "floor": "text",
  "sortOrder": 1
}

Fel, som problem+json (felkoderna):

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

Alla rum med sina fakta (färger, golv, tapeter, mått), i rumslistans ordning

GET /api/v1/houses/{houseId}/room-facts

operationId listHouseRoomFacts

  • 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/room-facts" \
  -H "Authorization: Bearer $TOKEN"

Svar

200 Klart · HouseRoomFactListResponse
{
  "items": [
    {
      "roomId": 1,
      "roomName": "text",
      "floor": "text",
      "facts": [
        {
          "id": 1,
          "roomId": 1,
          "kind": "text",
          "kindLabel": "text",
          "value": "text",
          "note": "text",
          "doneOn": "2026-11-13",
          "updatedAt": "2026-11-13T08:00:00Z"
        }
      ]
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

Ett rums fakta, ordnade efter typ och senast gjort först

GET /api/v1/houses/{houseId}/rooms/{roomId}/facts

operationId listRoomFacts

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
roomId adressen integer ja

Exempel

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

Svar

200 Klart · RoomFactListResponse
{
  "items": [
    {
      "id": 1,
      "roomId": 1,
      "kind": "text",
      "kindLabel": "text",
      "value": "text",
      "note": "text",
      "doneOn": "2026-11-13",
      "updatedAt": "2026-11-13T08:00:00Z"
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

Lägg till en faktarad i ett rum, till exempel väggfärgen

POST /api/v1/houses/{houseId}/rooms/{roomId}/facts

operationId addRoomFact

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
roomId adressen integer ja

Kropp application/json · RoomFactBody

FältTypKrävs
kind string nej
value string nej
note string nej
doneOn datum nej
{
  "kind": "text",
  "value": "text",
  "note": "text",
  "doneOn": "2026-11-13"
}

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/rooms/1/facts" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"kind":"text","value":"text","note":"text","doneOn":"2026-11-13"}'

Svar

201 Skapad · RoomFactDto
{
  "id": 1,
  "roomId": 1,
  "kind": "text",
  "kindLabel": "text",
  "value": "text",
  "note": "text",
  "doneOn": "2026-11-13",
  "updatedAt": "2026-11-13T08:00:00Z"
}

Fel, som problem+json (felkoderna):

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

Ändra en faktarad. Det som utelämnas behålls

PATCH /api/v1/houses/{houseId}/rooms/{roomId}/facts/{factId}

operationId updateRoomFact

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
roomId adressen integer ja
factId adressen integer ja

Kropp application/json · RoomFactPatchBody

FältTypKrävs
kind string nej
value string nej
note string nej
doneOn datum nej
clearDoneOn boolean nej
{
  "kind": "text",
  "value": "text",
  "note": "text",
  "doneOn": "2026-11-13",
  "clearDoneOn": false
}

Exempel

curl -X PATCH "https://husvo.app/api/v1/houses/1/rooms/1/facts/1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"kind":"text","value":"text","note":"text","doneOn":"2026-11-13","clearDoneOn":false}'

Svar

200 Klart · RoomFactDto
{
  "id": 1,
  "roomId": 1,
  "kind": "text",
  "kindLabel": "text",
  "value": "text",
  "note": "text",
  "doneOn": "2026-11-13",
  "updatedAt": "2026-11-13T08:00:00Z"
}

Fel, som problem+json (felkoderna):

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

Ta bort en faktarad

DELETE /api/v1/houses/{houseId}/rooms/{roomId}/facts/{factId}

operationId deleteRoomFact

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
roomId adressen integer ja
factId adressen integer ja

Exempel

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

Svar

204 Klart, inget innehåll

Inget innehåll.

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 404Finns inte, eller inte för dig
Sidan hakade upp sig.Ladda om🗙