Husvo

API-referens

Underhållet

Uppgifterna, när de senast gjordes, och förslag ur underhållsbiblioteket.

Underhållet med status, nästa datum och brådskeord

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

operationId listMaintenance

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

Svar

200 Klart · MaintListResponse
{
  "items": [
    {
      "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

Lägg till en egen uppgift: en gång på ett datum, eller återkommande med intervall i månader

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

operationId createMaintenanceItem

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Kropp application/json · CreateMaintBody

FältTypKrävs
name string nej
dueOn datum nej
intervalMonths integer nej
roomId integer nej
applianceId integer nej
note string nej
{
  "name": "text",
  "dueOn": "2026-11-13",
  "intervalMonths": 1,
  "roomId": 1,
  "applianceId": 1,
  "note": "text"
}

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/maintenance" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"text","dueOn":"2026-11-13","intervalMonths":1,"roomId":1,"applianceId":1,"note":"text"}'

Svar

201 Skapad · MaintItemDto
{
  "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):

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

En underhållspost

GET /api/v1/houses/{houseId}/maintenance/{maintId}

operationId getMaintenanceItem

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
maintId adressen integer ja

Exempel

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

Svar

200 Klart · MaintItemDto
{
  "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

Flytta nästa datum, ändra intervall, och på egna uppgifter namn, anteckning, rum och pryl

PATCH /api/v1/houses/{houseId}/maintenance/{maintId}

operationId updateMaintenanceItem

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
maintId adressen integer ja

Kropp application/json · UpdateMaintBody

FältTypKrävs
name string nej
intervalMonths integer nej
dueOn datum nej
note string nej
roomId integer nej
clearRoom boolean nej
applianceId integer nej
clearAppliance boolean nej
{
  "name": "text",
  "intervalMonths": 1,
  "dueOn": "2026-11-13",
  "note": "text",
  "roomId": 1,
  "clearRoom": false,
  "applianceId": 1,
  "clearAppliance": false
}

Exempel

curl -X PATCH "https://husvo.app/api/v1/houses/1/maintenance/1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"text","intervalMonths":1,"dueOn":"2026-11-13","note":"text","roomId":1,"clearRoom":false,"applianceId":1,"clearAppliance":false}'

Svar

200 Klart · MaintItemDto
{
  "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):

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

Ta bort en egen uppgift. Katalogens stängs av i husprofilen. Journalen rörs inte

DELETE /api/v1/houses/{houseId}/maintenance/{maintId}

operationId deleteMaintenanceItem

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
maintId adressen integer ja

Exempel

curl -X DELETE "https://husvo.app/api/v1/houses/1/maintenance/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
  • 422Kontrollera uppgifterna

Markera som gjort, idag eller ett angivet datum, med valfri kostnad. Går att skicka om

POST /api/v1/houses/{houseId}/maintenance/{maintId}/done

operationId markMaintenanceDone

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
maintId adressen integer ja

Kropp application/json · MarkDoneBody

FältTypKrävs
doneOn datum nej
costKr integer nej
{
  "doneOn": "2026-11-13",
  "costKr": 1
}

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/maintenance/1/done" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"doneOn":"2026-11-13","costKr":1}'

Svar

200 Klart · MarkDoneResponse
{
  "item": {
    "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
  },
  "logEntry": {
    "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"
  },
  "removed": false
}

Fel, som problem+json (felkoderna):

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

Ange när det senast gjordes, i efterhand. Skriver ingen loggpost

PUT /api/v1/houses/{houseId}/maintenance/{maintId}/last-done

operationId setMaintenanceLastDone

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
maintId adressen integer ja

Kropp application/json · LastDoneBody

FältTypKrävs
date datum nej
{
  "date": "2026-11-13"
}

Exempel

curl -X PUT "https://husvo.app/api/v1/houses/1/maintenance/1/last-done" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"date":"2026-11-13"}'

Svar

200 Klart · MaintItemDto
{
  "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):

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

Välj vem i hushållet som tar uppgiften, eller null för ingen. Den som tar den får påminnelsen

PUT /api/v1/houses/{houseId}/maintenance/{maintId}/assignee

operationId setMaintenanceAssignee

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
maintId adressen integer ja

Kropp application/json · AssigneeBody

FältTypKrävs
assigneeId integer nej
{
  "assigneeId": 1
}

Exempel

curl -X PUT "https://husvo.app/api/v1/houses/1/maintenance/1/assignee" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"assigneeId":1}'

Svar

200 Klart · MaintItemDto
{
  "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):

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

Punkter ur biblioteket som passar huset men saknas

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

operationId listMaintenanceSuggestions

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

Svar

200 Klart · SuggestionListResponse
{
  "items": [
    {
      "libraryId": "abc123",
      "name": "text",
      "intervalMonths": 1,
      "intervalLabel": "text"
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

Lägg till ett underhållsförslag i huset

POST /api/v1/houses/{houseId}/suggestions/{libraryId}/accept

operationId acceptMaintenanceSuggestion

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
libraryId adressen string ja

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/suggestions/1/accept" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

Svar

201 Skapad · MaintItemDto
{
  "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):

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

Avvisa ett underhållsförslag

POST /api/v1/houses/{houseId}/suggestions/{libraryId}/dismiss

operationId dismissMaintenanceSuggestion

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
libraryId adressen string ja

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/suggestions/1/dismiss" \
  -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🗙