GET
/api/v1/houses/{houseId}/craftsmen
operationId listCraftsmen
- Bearer-token
- Kräver läsrätt i huset
Parametrar
| Namn | Var | Typ | Krä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
POST
/api/v1/houses/{houseId}/craftsmen
operationId addCraftsman
- Bearer-token
- Kräver redigeringsrätt i huset
- Skrivtaket gäller
- Tar Idempotency-Key
Parametrar
| Namn | Var | Typ | Krävs |
houseId |
adressen |
integer |
ja |
Kropp application/json · CraftsmanBody
| Fält | Typ | Krä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
GET
/api/v1/houses/{houseId}/craftsmen/{craftsmanId}
operationId getCraftsman
- Bearer-token
- Kräver läsrätt i huset
Parametrar
| Namn | Var | Typ | Krä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
PATCH
/api/v1/houses/{houseId}/craftsmen/{craftsmanId}
operationId updateCraftsman
- Bearer-token
- Kräver redigeringsrätt i huset
- Skrivtaket gäller
Parametrar
| Namn | Var | Typ | Krävs |
houseId |
adressen |
integer |
ja |
craftsmanId |
adressen |
integer |
ja |
Kropp application/json · CraftsmanBody
| Fält | Typ | Krä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
DELETE
/api/v1/houses/{houseId}/craftsmen/{craftsmanId}
operationId deleteCraftsman
- Bearer-token
- Kräver redigeringsrätt i huset
- Skrivtaket gäller
Parametrar
| Namn | Var | Typ | Krä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