Husvo

API-referens

Prylarna

Prylarna i huset med märke, modell, inköp och garanti.

Husets prylar

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

operationId listAppliances

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

Svar

200 Klart · ApplianceListResponse
{
  "items": [
    {
      "id": 1,
      "name": "text",
      "roomId": 1,
      "roomName": "text",
      "manufacturer": "text",
      "model": "text",
      "category": "text",
      "serialNumber": "text",
      "purchasedAt": "2026-11-13",
      "warrantyUntil": "2026-11-13",
      "warrantyState": "text",
      "warrantyLabel": "text",
      "notes": "text",
      "createdAt": "2026-11-13T08:00:00Z",
      "maintCount": 1,
      "purchasePriceKr": 1
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

Lägg till en pryl

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

operationId addAppliance

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Kropp application/json · ApplianceBody

FältTypKrävs
name string nej
roomId integer nej
manufacturer string nej
model string nej
category string nej
serialNumber string nej
purchasedAt datum nej
warrantyUntil datum nej
notes string nej
purchasePriceKr integer nej
clearPurchasePrice boolean nej
{
  "name": "text",
  "roomId": 1,
  "manufacturer": "text",
  "model": "text",
  "category": "text",
  "serialNumber": "text",
  "purchasedAt": "2026-11-13",
  "warrantyUntil": "2026-11-13",
  "notes": "text",
  "purchasePriceKr": 1,
  "clearPurchasePrice": false
}

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/appliances" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"text","roomId":1,"manufacturer":"text","model":"text","category":"text","serialNumber":"text","purchasedAt":"2026-11-13","warrantyUntil":"2026-11-13","notes":"text","purchasePriceKr":1,"clearPurchasePrice":false}'

Svar

201 Skapad · ApplianceDto
{
  "id": 1,
  "name": "text",
  "roomId": 1,
  "roomName": "text",
  "manufacturer": "text",
  "model": "text",
  "category": "text",
  "serialNumber": "text",
  "purchasedAt": "2026-11-13",
  "warrantyUntil": "2026-11-13",
  "warrantyState": "text",
  "warrantyLabel": "text",
  "notes": "text",
  "createdAt": "2026-11-13T08:00:00Z",
  "maintCount": 1,
  "purchasePriceKr": 1
}

Fel, som problem+json (felkoderna):

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

En pryl med manualer och underhåll

GET /api/v1/houses/{houseId}/appliances/{applianceId}

operationId getAppliance

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
applianceId adressen integer ja

Exempel

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

Svar

200 Klart · ApplianceDetailDto
{
  "appliance": {
    "id": 1,
    "name": "text",
    "roomId": 1,
    "roomName": "text",
    "manufacturer": "text",
    "model": "text",
    "category": "text",
    "serialNumber": "text",
    "purchasedAt": "2026-11-13",
    "warrantyUntil": "2026-11-13",
    "warrantyState": "text",
    "warrantyLabel": "text",
    "notes": "text",
    "createdAt": "2026-11-13T08:00:00Z",
    "maintCount": 1,
    "purchasePriceKr": 1
  },
  "manuals": [
    {
      "id": 1,
      "name": "text",
      "pages": 1
    }
  ],
  "photoIds": [
    1
  ],
  "maintenance": [
    {
      "id": 1,
      "name": "text",
      "intervalMonths": 1,
      "intervalLabel": "text",
      "lastDoneAt": "2026-11-13",
      "nextDueAt": "2026-11-13",
      "daysLeft": 1,
      "state": "text",
      "dueLabel": "text",
      "source": "text",
      "isGuideline": false,
      "applianceId": 1,
      "applianceName": "text",
      "once": false,
      "editable": false,
      "roomId": 1,
      "roomName": "text",
      "note": "text",
      "assigneeId": 1
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

Ändra en pryl. Fält som utelämnas lämnas orörda; en tom sträng tömmer textfält

PATCH /api/v1/houses/{houseId}/appliances/{applianceId}

operationId updateAppliance

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
applianceId adressen integer ja

Kropp application/json · ApplianceBody

FältTypKrävs
name string nej
roomId integer nej
manufacturer string nej
model string nej
category string nej
serialNumber string nej
purchasedAt datum nej
warrantyUntil datum nej
notes string nej
purchasePriceKr integer nej
clearPurchasePrice boolean nej
{
  "name": "text",
  "roomId": 1,
  "manufacturer": "text",
  "model": "text",
  "category": "text",
  "serialNumber": "text",
  "purchasedAt": "2026-11-13",
  "warrantyUntil": "2026-11-13",
  "notes": "text",
  "purchasePriceKr": 1,
  "clearPurchasePrice": false
}

Exempel

curl -X PATCH "https://husvo.app/api/v1/houses/1/appliances/1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"text","roomId":1,"manufacturer":"text","model":"text","category":"text","serialNumber":"text","purchasedAt":"2026-11-13","warrantyUntil":"2026-11-13","notes":"text","purchasePriceKr":1,"clearPurchasePrice":false}'

Svar

200 Klart · ApplianceDto
{
  "id": 1,
  "name": "text",
  "roomId": 1,
  "roomName": "text",
  "manufacturer": "text",
  "model": "text",
  "category": "text",
  "serialNumber": "text",
  "purchasedAt": "2026-11-13",
  "warrantyUntil": "2026-11-13",
  "warrantyState": "text",
  "warrantyLabel": "text",
  "notes": "text",
  "createdAt": "2026-11-13T08:00:00Z",
  "maintCount": 1,
  "purchasePriceKr": 1
}

Fel, som problem+json (felkoderna):

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

Tar bort prylen, dess bilder och manualer. Uppgifterna i underhållet blir kvar. Fråga i appen först

DELETE /api/v1/houses/{houseId}/appliances/{applianceId}

operationId deleteAppliance

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
applianceId adressen integer ja

Exempel

curl -X DELETE "https://husvo.app/api/v1/houses/1/appliances/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🗙