Husvo

API-referens

Hantverkarna

Husets eget register över hantverkare, som journalposter kan peka på.

Husets hantverkare, sorterade på namn, med hur många poster som pekar på var och en

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

operationId listCraftsmen

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

Svar

200 Klart · CraftsmanListResponse
{
  "items": [
    {
      "id": 1,
      "name": "text",
      "trade": "text",
      "phone": "text",
      "email": "du@exempel.se",
      "notes": "text",
      "createdAt": "2026-11-13T08:00:00Z",
      "logCount": 1
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

Lägg till en hantverkare. Bara name krävs

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

operationId addCraftsman

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Kropp application/json · CraftsmanBody

FältTypKrävs
name string nej
trade string nej
phone string nej
email string nej
notes string nej
{
  "name": "text",
  "trade": "text",
  "phone": "text",
  "email": "du@exempel.se",
  "notes": "text"
}

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/craftsmen" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"text","trade":"text","phone":"text","email":"du@exempel.se","notes":"text"}'

Svar

201 Skapad · CraftsmanDto
{
  "id": 1,
  "name": "text",
  "trade": "text",
  "phone": "text",
  "email": "du@exempel.se",
  "notes": "text",
  "createdAt": "2026-11-13T08:00:00Z",
  "logCount": 1
}

Fel, som problem+json (felkoderna):

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

En hantverkare

GET /api/v1/houses/{houseId}/craftsmen/{craftsmanId}

operationId getCraftsman

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
craftsmanId adressen integer ja

Exempel

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

Svar

200 Klart · CraftsmanDto
{
  "id": 1,
  "name": "text",
  "trade": "text",
  "phone": "text",
  "email": "du@exempel.se",
  "notes": "text",
  "createdAt": "2026-11-13T08:00:00Z",
  "logCount": 1
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

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

PATCH /api/v1/houses/{houseId}/craftsmen/{craftsmanId}

operationId updateCraftsman

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
craftsmanId adressen integer ja

Kropp application/json · CraftsmanBody

FältTypKrävs
name string nej
trade string nej
phone string nej
email string nej
notes string nej
{
  "name": "text",
  "trade": "text",
  "phone": "text",
  "email": "du@exempel.se",
  "notes": "text"
}

Exempel

curl -X PATCH "https://husvo.app/api/v1/houses/1/craftsmen/1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"text","trade":"text","phone":"text","email":"du@exempel.se","notes":"text"}'

Svar

200 Klart · CraftsmanDto
{
  "id": 1,
  "name": "text",
  "trade": "text",
  "phone": "text",
  "email": "du@exempel.se",
  "notes": "text",
  "createdAt": "2026-11-13T08:00:00Z",
  "logCount": 1
}

Fel, som problem+json (felkoderna):

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

Tar bort hantverkaren. Journalposterna blir kvar men tappar kopplingen. Fråga i appen först

DELETE /api/v1/houses/{houseId}/craftsmen/{craftsmanId}

operationId deleteCraftsman

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

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
craftsmanId adressen integer ja

Exempel

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